Servlet

作者: 顶儿响叮当 | 来源:发表于2016-08-02 22:33 被阅读10次

Servlet生命周期

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

  1. Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第4步,否则,执行第2步。
  2. 装载并创建该Servlet的一个实例对象。
  3. 调用Servlet实例对象的init()方法。
  4. 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  5. WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
Servlet生命周期

web.xml中配置Servlet


   <servlet>                
      <servlet-name>helloServlet</servlet-name>             //根据servlet-name 即helloServlet, 找到对应的 servlet-class 
      <servlet-class>servlet.helloServlet</servlet-class>   
      <load-on-startup>1</load-on-startup>   //此属性可在tomcat启动时自动装载servlet,无需请求时再装载,数字代表优先级   
   </servlet>

  <servlet-mapping>
      <servlet-name>helloServlet</servlet-name>
      <url-pattern>/servlet/helloServlet</url-pattern>       // jsp中请求的url,找到对应的servlet-name 即helloServlet
  </servlet-mapping>
 

Servlet的装载

有三种情况下会装载Servlet

  1. 第一次对Servlet发出请求时。第一次请求servlet时,若servlet实例不存在,会先创建Servlet实例,调用构造函数,初始化init函数。
  1. 在web.xml中设置 <load-on-startup>,即可在启动tomcat时自动装载
    若设置java <load-on-startup>1</load-on-startup>其中数字1代表优先级,数字越小优先级越高,在tomcat启动时,会根据优先级来装载Servlet。
  1. 类文件改变时。经测试发现,当已经装载的servlet类文件改变时(修改servlet的内容时),所有已装载的servlet会销毁 即执行destory,若在web.xml中对servlet已配置<load-on-startup>,则在此时会对这部分servlet进行装载
    所以,我认为应该是当servlet类内容改变时,会destory掉所有已装载的servlet,并根据web.xml的配置重新加载一遍。

参考文章:
http://www.ibm.com/developerworks/cn/java/j-lo-servlet/
http://www.cnblogs.com/xdp-gacl/p/3760336.html

相关文章

  • servlet 笔记

    servlet servlet 声明周期 Servlet 的线程安全 Servlet 获取配置信息 Servlet...

  • Servlet

    Servlet介绍 Servlet开发步骤 创建Servlet 配置Servlet 配置Servlet中设置初始化...

  • 深入理解Servlet技术

    1. 什么是servlet servlet Servlet是javax.servlet.Servlet包中定义的一...

  • Servlet与Jsp(1)

    Servlet 实现原理Servlet接口使Servlet容器能将Servlet类载入内存,并在Servlet实例...

  • web.xml不同版本之间头信息的区别

    一、Servlet 2.3 二、Servlet 2.4 三、Servlet 2.5 四、Servlet 3.0 五...

  • Servlet入门

    Servlet简介 Servlet(Servlet Applet)是Java Servlet的简称,称为小服务程序...

  • Servlet 实例

    Servlet 实例 Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接...

  • Java Servlet API

    Servlet 支持的版本 Servlet 3.0 新特性详解 Servlet 3.0 新特性概述Servlet ...

  • 简单认识Servlet

    Servlet与JSP的关系 初识Servlet Servlet层级关系 顶层Servlet接口 GenericS...

  • 2019-10-14 SpringMVC与Servlet接口 S

    SpringMVC与Servlet接口 Servlet接口规范 Servlet 接口 定义servlet接口规范i...

网友评论

      本文标题:Servlet

      本文链接:https://www.haomeiwen.com/subject/bqqqsttx.html