你的位置:首页 > Java教程

[Java教程]Servlet生命周期+工作原理


Servlet生命周期+工作原理

1、Servlet的生命周期:

    Servlet加载,加载,服务,销毁。

2、典型函数解释:

    Init():这个函数是用来初始化Servlet对象的。在Servlet的生命周期中,仅仅执行一次Servlet函数。

    Destroy():这个函数是用来销毁Servlet对象的,同样的,在Servlet的生命周期中,仅仅执行一次Servlet函数。

    Service():这个函数是Servlet对象响应客户请求时候使用的。是Servlet的核心函数。有两个参数:HTTPRequest,HTTPResponse。HTTPServlet中已经有了Service方法,默认的服务功能是调用和请求方法一致的do功能。

3、tomcat和Servlet是怎么工作的:

  1. Web client向Servlet容器(tomcat)发出请求
  2. Tomcat接收请求
  3. Servlet容器中创建一个HTTPRequest对象,将Web client请求信息放进来。
  4. Servlet容器中创建一个HTTPResponse对象。
  5. Servlet容器调用HTTPServlet对象的Service方法,将HTTPRequest和HTTPResponse放入Service函数中去。
  6. HTTPServlet调用相关方法获取HTTPRequest中的请求信息。
  7. HTTPServlet调用相关方法去生成HTTPResponse。
  8. Servlet将相应结果返回给Web client。

4、Servlet的工作原理:

    客户发送一个请求,然后Servlet容器会创建基于这个请求的ServletRequest和ServletResponse,    然后调用Servlet的Service方法,获得请求信息,处理信息,返回响应信息。

    其中Service方法中选择与请求方法对应的do功能,例如doGet,doPost方法。在Servlet和GenericServlet中是没有这些方法的,需要自己去定义。虽然HTTPServlet中有这些方法,但是返回Error信息,需要我们自己去重载。

    Servlet和GenericServlet是不基于任何协议的,而HTTPServlet是基于HTTP协议的。