浏览 2460 次
锁定老帖子 主题:Servlet生命周期
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-25
1、HttpServlet类 谈到Servlet,首先是该接口有多个实现类,其中HttpServlet是最重要的一个。它专门用于处理Http网络请求的Servlet实现类,在实际应用中,绝大部分都是继承HttpServlet类完成的。该类处理请求和对请求的响应分别是HttpServletRequest、HttpServletResponse。尤其是HttpServletRequest包含许多能很好处理Servlet的方法。 2、Servlet接口 Servlet生命周期首先要了解该类的三个主要方法即init()、service()、destroy()。其中init方法主要用于初始化一些参数等信息;destroy是在服务器长时间没有响应或没有请求发出时负责销毁Servlet对象;service方法是Servlet的核心方法,用于处理用户的请求信息。其过程描述如下: 第一、当第一个请求到来时,Servlet容器首先通过反射机制创建Servlet对象,且若该对象存在则不再创建新的对象。 第二、调用init方法,初始化一些Servlet信息,该方法只在Servlet对象创建后调用且仅调用一次。 第三、响应请求信息,通常是调用service或doGet、doPost方法来处理请求,而且这些方法是在多线程、单实例的环境下运行的。多次访问请求信息被清除掉。每个Servlet容器只对应一个Servlet实例。 第四、若长时间没有响应或服务器关闭,则Servlet容器调用destroy方法以销毁该Servlet实例对象。 3、Servlet容器及部署 Servlet容器是用来运行Servlet的一种软件,Servlet的部署主要是通过web.xml配置文件配置的,最主要的有 <servlet> <servlet-name>Servlet的名称</servlet-name> <servlet-class>Servlet的类路径</servlet-class> <init-param>初始化一些配置信息等</init-param> <load-on-start></load-on-start> </servlet> <servlet-mapping> <servlet-name> Servlet的名称(与上面的要一致)</servlet-name> <url-partern>/some(访问路径,可任意填写)</url-partern> </servlet-mapping> 4、单实例、多线程 Servlet的运行时单实例多线程的,所以尽量少用成员变量,但若Servlet中有成员变量,则该变量必须声明为线程安全的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |