Servlet 生命周期

一、servlet的生命周期是什么?

  servlet的生命周期分为三个阶段:

  1.初始化阶段:调用 init() 方法。

  2.响应用户请求阶段:调用service() 方法。

  3.终止阶段:调用destory() 方法。

二、servlet的工作原理是什么?

  1.servlet接受和响应用户请求的过程。

  servlet接受用户的请求。

  servlet调用service()方法,service()方法中对请求方式进行匹配,选择调用doPost方法还是doGet方法。

  进入doPost方法或者doGet方法调用业务逻辑层的方法,实现对客户的响应。

  2.接口调用

  首先,用户自定义的servlet必须要实现Servlet接口。因为Servlet接口中定义了五个方法,涉及到了servlet的生命周期。分别是init(),service(),destory().

  其次,GenericServlet实现了Servlet接口,HttpServlet继承于GenericServlet。

  再次,GenericServlet是一个通用的,不特定于任何协议的Servlet. HttpServlet是特定于HTTP协议的类。

  并且GenericServlet和Servlet接口中并没有定义dopost方法和doget方法,HttpServlet定义了这些方法。

  因此,我们用户自定义的servlet只需要继承HttpServlet即可。

  3.重写dopost和doget

  HttpServlet实现了servlet接口中的service方法,将请求ServletRequest,ServletResponse强转为HttpRequest和HttpResponse。

  HttpServlet本身定义的doGet,doPost方法,都是返回error信息。因此用户自定义的servlet 方法都需要重写dopost和doget方法。

三、初始化阶段:

  servlet容器装载servlet。

  servlet容器装载servlet之后,创建一个servlet实例,调用servlet的init() 方法进行初始化。

  注:servlet容器装载servlet的情况,有以下三种:

  情况1:servelet容器自动装载某些servlet。实现自动装载,只需要在web.xml文件中的<Servlet></servlet>中间添加如下代码:<loadon - startup>1</loadon - startup>

  情况2:Servlet容器启动后,客户首次向servlet发送请求。

  情况3:Servlet类文件被更新后,重新装载servlet。

  在Servlet的整个生命周期内,init()方法只被调用一次。

四、响应阶段:

  1.对于到达servlet的请求,servlet容器会创建特定于这个请求的servletRequest对象和responseRquest对象。servletRequest封装了用户的请求信息。

  2.servlet 调用service方法 : public void service(ServletRequest req,ServletResponse res).

    将请求ServletRequest,ServletResponse强转为HttpRequest和HttpResponse。

    并调用自己的service方法调相应的dopost方法或者doget方法。

  3.处理完请求之后,通过ServletResponse对象向客户返回响应信息。

五、终止阶段:

  当Tomcat关闭时候,servlet容器会调用destroy方法,释放其占用的资源。

时间: 2024-07-28 20:47:41

Servlet 生命周期的相关文章

Servlet生命周期和工作原理

Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码: <loadon-startup>1</loadon-startup&g

Servlet生命周期、工作原理、配置

Servlet生命周期 分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet工作原理 每一个自定义的Servlet都必须实现Servlet的接口,Servlet接口中定义了五个方法,其中比较重要的三个方法涉及到Servlet的生命周期,分别是上文提到的init(),service(),destroy()方法.GenericServlet是一个通用的,不特定于任何协议的Servlet,它实

javaWeb中servlet开发(3)——Servlet生命周期

生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 public class LifeCycleServlet extends HttpServlet{ public void init() throws ServletException{ System.out.println("** 1.Servlet初始化 --> init()") ; }

Java Servlet系列之Servlet生命周期

Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Servlet的生命周期中,仅执行一次init()方法,它是在服务器装入Servlet时执行的,可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet.无论有多少客户机访问Servlet,都不会重复执行init(): 2. service()方法 它是Servlet的核心,每当

Servlet 生命周期、工作原理

一. Servlet 生命周期 servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Servlet时执行的,负责初始化Servlet对象.可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet.无论有多少客户机访问Servlet,都不会重复执行init(). service():它是Servlet的核心,负责响应客户的请求.每当一个客户请求一个HttpServlet

Servlet 生命周期与web容器的关系

servlet生命周期由web容器(如tomcat)管理,初始化一次,直到web容器关闭才会被销毁.1.servlet是单例多线程,每个请求过来容器都会启用一个新线程 2.servlet在容器中保持单例,只会被初始化一次 当web.xml中servlet配置load-on-startup为正整数时,容器启动时servlet就会初始化:创建对象->init(ServletConfig config)->init() 当load-on-startup没有设置或值为负数时,servlet要被请求时才

Servlet生命周期与工作原理

Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的<Servlet></Servlet>之间添加如下代码: <loadon-startup>1</loadon-startup&g

javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)

一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录,在firstServlet目录下创建WEB-INF/classes目录 在classes目录下,写servlet程序. 类FirstServlet.java 1 /** 2 * 3 */ 4 package com.hlcui.servlet; 5 6 import java.io.IOExcept

JavaEE实战——Servlet入门、Servlet生命周期、绝对路径、ServletContext

前言 接下来的三篇博客我会分别介绍Servlet的以下三个方面: 1.Servlet程序编写 ----- 生命周期 2.ServletAPI Request Response 3.Cookie 和 Session Servlet的作用:Servlet 用来 动态web资源 开发 静态web资源 : 固定数据文件 动态web资源 : 通过程序动态生成数据文件 Servlet技术基于Request-Response编程模型 ---- HTTP协议也是基于请求响应 模型 * Servlet技术 用来

Servlet生命周期+工作原理

Servlet生命周期+工作原理 1.Servlet的生命周期: ????Servlet加载,加载,服务,销毁. 2.典型函数解释: ????Init():这个函数是用来初始化Servlet对象的.在Servlet的生命周期中,仅仅执行一次Servlet函数. ????Destroy():这个函数是用来销毁Servlet对象的,同样的,在Servlet的生命周期中,仅仅执行一次Servlet函数. ????Service():这个函数是Servlet对象响应客户请求时候使用的.是Servlet的