servlet 小知识

浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理,Servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。Web容器中包含了多个Servlet,特定的HTTP请求该由哪一个Servlet来处理是由Web容器中的web.xml来决定的。

作者:psyduck

链接:https://www.zhihu.com/question/21416727/answer/28555855

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

作者:温学良

链接:https://www.zhihu.com/question/21416727/answer/82511153

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

web服务器习惯处理静态页面,所以需要一个程序来帮忙处理动态请求(如当前时间)。Web服务器程序会将动态请求转发给帮助程序,帮助程序处理后,返回处理后的静态结果给web服务器程序。这样就避免了web服务器程序处理动态页面。Servlet的本质是一个帮助程序。如下图

Servlet工作流程分为三个阶段。init(初始化),service(运行),destroy(销毁)

Servlet没有main方法,所有行为由Container控制。Container就是一个java程序。

在加载Servlet的.class后,Servlet会由构造函数生成一个实例,然后Container调用init()方法完成参数的初始化,接着调用service()方法,service会根据网页的请求,调用doGet或者doPost方法,最后调用销毁方法。整个流程如下图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用beanUtils操纵javabean

    package com.lan.beanutils; import java.lang.reflect.InvocationTargetExcepti...

    MonroeCode
  • Windows Mobile上的小宇宙

      在codeproject上看到了一个非常有意思的应用,windows mobile上看星座图。试想下面一个场景,在北京寒冷冬天的一个晚上,西北风把城市上空的...

    ShiJiong
  • JavaBean与内省操作

    JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。

    MonroeCode
  • 反射类的main方法

    有时候我们需要调用一个类的Main方法,也可说是执行这个类的代码。但是这时候这个类我们还没有写好,或者这个类是通过网络运行时传给我们的,我们就不可能在程序中知道...

    MonroeCode
  • Java 可变参数

    Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一...

    MonroeCode
  • java5的静态导入和自动装箱拆箱

    静态导入:导入某个类的静态成员(属性和方法) 语法:import static 可以简化编程,但是可读性较差,所以使用较少,仅作为了解。 自动装箱:将原始...

    MonroeCode
  • Objective-C中的Block回调模式

            在前面的博客中提到了Block的概念和使用方法,个人感觉Block最爽的用法莫过于在回调时用block。感觉比委托回调和目标方法回调用着要顺手,...

    lizelu
  • Bluehoo

    windows mobile的MSDN Blog上,在PDC当天,发布了一个Bluehoo的应用程序。Bluehoo使用bluetooth来发现你附近的hoos...

    ShiJiong
  • 枚举常见的七种用法

     JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。

    MonroeCode
  • 反射技术概述

    主要是指程序可以访问、检测和修改它本身状态或行为的一种能力

    MonroeCode

扫码关注云+社区

领取腾讯云代金券