美文网首页
servlet 生命周期

servlet 生命周期

作者: pluss | 来源:发表于2018-07-12 15:05 被阅读0次

摘自how tomcat works


所有的 servlet 必须实现或者继承实现 javax.servlet.Servlet接口的类。

javax.servlet.Servlet接口的5个方法

public void init(ServletConfig config) throws ServletException
public void service(ServletRequest request, ServletResponse response)
throws ServletException, java.io.IOException
public void destroy()
public ServletConfig getServletConfig()
public java.lang.String getServletInfo()

其中init,service 和 destroy 是 servlet 的生命周期方法。

  • 在 servlet类已经初始化之后,init 方法将会被 servlet 容器所调用。servlet 容器只调用一次,以此表明servlet 已经被加载进服务中。init 方法必须在 servlet 可以接受任何请求之前成功运行完毕。
  • servlet 容器为 servlet 请 求 调 用 它 的 service 方 法 。 servlet 容 器 传 递 一 个javax.servlet.ServletRequest 对象和javax.servlet.ServletResponse对象。ServletRequest对象包括客户端的 HTTP 请求信息,而 ServletResponse 对象封装 servlet 的响应。在 servlet的生命周期中,service 方法将会给调用多次。
  • 当从服务中移除一个 servlet 实例的时候,servlet 容器调用 destroy 方法。这通常发生在servlet 容器正在被关闭或者 servlet 容器需要一些空闲内存的时候。仅仅在所有servlet 线程的 service 方法已经退出或者超时淘汰的时候,这个方法才被调用。

一个 servlet 程序员可以通过覆盖init方法来写那些仅仅只要运行一次的初始化代码,例如加载数据库驱动,值初始化等等。在其他情况下,这个方法通常是留空的。
在 servlet 容器已经调用完destroy 方法之后,在同一个 servlet 里边将不会再调用 service 方法。destroy 方法提供了一个机会来清理任何已经被占用的资源,例如内存,文件句柄和线程,并确保任何持久化状态和servlet 的内存当前状态是同步的。


servlet生命周期主要涉及它的三个方法,init、service、destroy。
容器启动,自动装载某些servlet,或者客户首次向servlet发送请求,servlet会创建对应的servlet并调用它的init方法。init方法只能调用一次
客户发送请求,容器创建特定于请求的servletRequest和servletResponse。然后调用service方法,通过servletResponse向客户端返回响应信息。
当servlet容器关闭时,会调用servlet对象的destroy方法。destory可用来释放资源。

相关文章

  • Servlet入门(二)

    Servlet生命周期 Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期...

  • servlet生命周期及实现原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 Servlet生命周期分为...

  • Servlet 工作原理

    Servlet 生命周期 Servlet 生命周期:Servlet加载--->实例化--->服务--->销毁。 i...

  • java面试和笔试(四)

    61、servlet的生命周期 web容器加载servlet,生命周期开始。通过调用servlet的init()方...

  • 框架知识

    框架知识→ Servlet生命周期Servlet_生命周期:首先加载servlet的class,实例化servle...

  • Servlet生命周期

    Servlet 生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循...

  • Servlet生命周期

    Servlet生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的...

  • J2EE--Servlet

    什么是Servlet? 如何使用Servler? Servlet生命周期 Servlet方法体系 Servlet3...

  • Servlet的生命周期

    Servlet 生命周期:Servlet 加载—->实例化—->服务—->销毁。 init():在Servlet的...

  • servlet学习(二):servlet的生命周期

    Servlet 生命周期指的是,Servlet 对象的创建、Servlet 对象的初始化、Servlet 对象服 ...

网友评论

      本文标题:servlet 生命周期

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