Servlet的生命周期

原创 2004年10月29日 10:21:00

以下内容摘自<<精通 servlet>>

Servlet基础<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Servlet容器(以前称Servelt引擎)实际上是执行servlet的软件。所有支持servlet的服务器包括一个servelt容器(集成的或通过插件。)术语支持java的服务器常指一个增强的servletHTTP服务器(即它包括一个用于运行servlet servlet容器)

 

Servlet生命周期:以下是一个服务器调用servlet的过程。

 

1, 在服务器启动时,当servlet被客户首次请求或被配置好,这时由服务器加载servlet.

Servlet的加载可以通过合用一个自定义的Java类加载工具(可允许自动Servlet重载)从本地或远程地址来实现。这一步等同于

  Class c = Class.forName(“com.sourceStream.MyServlet”);

这里用的术语加载指同时加载和初始化servlet的过程。

 

2.服务器创建一个servlet类实例来为所有请求服务。利用多线程,可以由单个servlet实例来服务于并行的请求。惟五的例外是,因为实现SingleThreadModel接口的servlet,这样,服务器会创建一个实例池并从中选择一个来服务于每一新的请求。此步相当于以下java代码:

Servlet s = (Servlet)c.newInstance();

3. 服务器调用Servletinit()方法。它用来保证完成在首次请求servlet处理以前的执行过程。如果servlet创建了多个servlet实例,则为每个实例调用一次init()方法。

 

4.服务器从包括在客户请求中的数据里构造一个ServletRequestHttpServletRequest对象,还构造一个ServletResponseHttpServletResponse对象来返回响应提供方法。其参数类型依赖于servlet是否分别扩展GenericServletHttpServlet.(注意:如果服务器没有收到对这一servlet的请求,此步骤与以下5---7步骤将不会发生。)

 

5.服务器调用servletservice()方法(对于Httpservletservice()将调用更为具体的方法:如:doGet() doPost()),在此步骤中作为参数传递结构化对象。当并行的请求到来时,多个service()方法能够同时运行在独立的线程中。(除非servlet实现了SingleThreadModel接口)

 

6通过分析ServletReuestHttpServletRequest对象。Service()方法处理客户的请求.并调用ServletResponseHttpServletResponse对象来响应。

 

7.如果服务器收到另一胩对该servlet的请求,这个处理过程从5步骤重复。

 

8.一旦servlet容器检测到一个servlet要被卸载,这可能是因为要回收资源或因为它正在被关闭,服务器会在所有servletservice()线程完成之后(或在服务器规定时间后)调用servletdestroy()方法。然后servlet就可以进行无用存储单元收集清理。Servlet容器不需要为保留一个servlet而指定时间。

 

以上8个步骤就是servlet的生命周期。

Servlet生命周期小结

Servlet的生命周期从Servlet类加载,到创建Servlet类实例,Servlet的初始化(真正成为一个Servlet),有请求到来,调用service方法(主要工作),直到Servlet被d...
  • Jassy1994
  • Jassy1994
  • 2017年01月05日 17:20
  • 3460

简述servlet生命周期

1.创建servlet实例     2.当servlet实例化后,将调用这个对象的init()方法进行初始化     3.再调用对象的service()方法来处理请求,并返回处理结果,在调用ser...
  • miachen520
  • miachen520
  • 2016年07月10日 16:55
  • 2109

servlet的生命周期和工作原理

servlet的定义:服务器上运行的小程序。servlet和jsp的关系呢?jsp经过编译后成为了servlet,jvm只能识别java的类,不能识别jsp,所以jsp的本质就是servlet。这里跟...
  • ggibenben1314
  • ggibenben1314
  • 2015年03月31日 16:56
  • 1688

servlet生命周期的简单描述

一个servlet的生命周期由不熟servlet的容器来控制,当一个请求映射到一个servlet的时候,该容器执行下列步骤。       1.如果一个Servlet的实例不存在,则Web容器   ...
  • wuxinliulei
  • wuxinliulei
  • 2013年11月02日 20:38
  • 1530

说出 Servlet 的生命周期,并说出 Servlet 和 CGI( Common Gateway Interface)的区别?

Web 容器加载 Servlet 并将其实例化后,Servlet 生命周期开始,容器运行 其 init 方法进行 Servlet 的初始化,请求到达时运行其 service 方法,service ...
  • uniquewonderq
  • uniquewonderq
  • 2015年06月09日 15:24
  • 994

说说Servlet 生命周期、工作原理

Servlet 生命周期:Servlet 加载—>实例化—>服务—>销毁。
  • danielzhou888
  • danielzhou888
  • 2017年04月27日 00:31
  • 861

servlet 理解 - 生命周期 -

1 .首先,什么是Servlet?        Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servlet规范编写的一个Java类。    2.Servlet是做...
  • superdog007
  • superdog007
  • 2014年04月08日 15:21
  • 4185

Servlet生命周期与配置

博前“废话”前面总结到jQuery相关知识,掌握了如何在前端使用Ajax技术与Web服务器通信,在前端我们使用JavaScript进行数据处理、html进行内容展示、css进行页面样式设计。那么我们后...
  • chaogebuchao
  • chaogebuchao
  • 2016年12月14日 23:14
  • 232

servlet生命周期及web.xml配置

Servlet工作原理 浏览器向web服务器发送http请求 web服务器解析主机地址,解析webapps,解析资源名,向web.xml查询servlet位置 web服务器创建HttpServletR...
  • u011702171
  • u011702171
  • 2016年03月16日 10:57
  • 672

Servlet生命周期描述!!!

简单的说分为三步: 1,实例化一个Servlet,并且调用init()初始化 2,调用service()方法,根据具体的请求调用doget()或者dopost()或者其他 3,卸载webApp之...
  • m1872216
  • m1872216
  • 2012年06月21日 19:26
  • 2050
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Servlet的生命周期
举报原因:
原因补充:

(最多只允许输入30个字)