第3章 JavaServlet精要.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 JavaServlet精要

3.3 Servlet的生命周期 每个Servlet都有一个生命周期,该生命周期由创建Servlet实例的Servlet容器进行控制。所谓Servlet生命周期就是指Servlet容器创建Servlet实例后响应客户请求直至销毁的全过程。 Servlet的生命周期可以分为四个阶段:类装载及实例创建阶段、实例初始化阶段、服务阶段以及实例销毁阶段。 创建servlet实例 初始化servlet实例 Servlet可服务状态 销毁servlet 卸载 (初始化失败) servlet处理请求并将结果返回给客户端 1.类装载及实例创建 ??? ? 默认情况下,Servlet实例是在接受第一次请求时进行创建,而且对以后的请求进行复用。 如果Servlet实例需要在初始化时完成一些复杂的工作,可以通过配置在服务器启动时就创建实例:声明servlet标签中添加load- on-startup1/load-on-startup标签。 其中load-on-startup标记的值必须为数值类型,表示Servlet的装载顺序,取值及含义如下: 正数或零:该Servlet必须在应用启动时装载,容器必须保证数值小的Servlet先装载 2.初始化Servlet?实例init() ?? ? 一旦Servlet实例被创建,将会调用Servlet的init(ServletConfig config)方法。init()方法在整个Servlet生命周期中只会调用一次,如果初始化成功则进入可服务状态,准备处理用户的请求,否则卸载该servlet实例。 在init()方法中包含了一个参数config,主要用于传递Servlet的配置信息,比如初始化参数等,该对象由服务器进行创建。 3.服务 services() ? ??一旦Servlet实例成功创建并且初始化,该Servlet实例就可以被服务器用来服务于客户端的请求并生成响应。在服务阶段,应用服务器会调用该实例的 service(ServletRequest request, ServletResponse response)方法,其中request对象和response对象由服务器创建并传给Servlet实例。request对象封装了客户端发往服务器端的信息,response对象封装了服务器发往客户端的信息。 ?? ? 4.销毁 destory() ?? ? ?当Servlet容器将决定结束某个Servlet时,将会调用destory()方法,在destory方法中进行资源释放。一旦destory()方法被调用,Servlet容器将不会再发送任何请求给这个实例。若Servlet容器需再次使用该Servlet,需重新实例化该Servlet实例。 3.4 Servlet API常用接口和类 3.4.1 ServletConfig接口 属于javax.servlet包,是一个由Servlet容器使用的Servlet配置对象,用于在Servlet执行init()初始化方法时向它传递信息。 方法名 方法说明 public String getInitParameter(String name) 返回包含指定初始化参数的值的 String,如果参数不存在,则返回 null。 public Enumeration getInitParameterNames() 以 String 对象的枚举形式返回 servlet 的初始化参数的名称,如果 servlet 没有初始化参数,则返回一个空的枚举对象。 public ServletContext getServletContext() 返回对调用者在其中执行操作的 ServletContext 的引用。 public String getServletName() 返回当前Servlet实例的名称。 javax.servlet.ServletConfig接口的主要方法 3.4.2 GenericServlet类 GernericServlet类属于javax.servlet包,用于定义一般的、与协议无关的Servlet。 GenericServlet 实现了 Servlet 和 ServletConfig 接口,用户可以直接继承 GenericServlet实现Servlet。 方法名 方法说明 public void destroy() Servlet容器调用该方法注销当前Servlet。 public void init(ServletConfig config) throws ServletException 由 servlet 容器调用,对servlet进行初始化。 public void init()throws ServletExc

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档