深入理解Servlet [转]

servlet是位于J2EE表示层的应用服务器。

深入理解Servlet [转]_第1张图片


servlet理解篇

     1)首先,servlet是一段程序,其次,是运行在服务器上的程序,再次,是处理客户端请求的运行在服务器上程序。主要功能在于交互式地浏览和修改数据,生成动态Web内容。

     2) servlet的程序则有两个Java包组成,javax.servlet、 javax.servlet.http。其中javax.servlet中定义类和接口,javax.servlet.http定义了采用HTTP协议通信的HttpServlet类

     3)所有的servlet程序都必须实现servlet接口,实现过程如下图所示:

深入理解Servlet [转]_第2张图片

      1,servlet实例化到内存,调用init方法 ;

      2,客户端请求和相应调用init方法;

      3,释放内存,关闭服务。


servlet生命周期

   Servlet程序执行过程就是一个生命周期即初始化阶段、运行阶段、销毁阶段。

   1)初始化阶段

      Servlet容器创建Servlet实例,并调用init()方法进行初始化。
深入理解Servlet [转]_第3张图片

       初始化目的:Servlet对象在处理客户端请求前完成一些初始化的工作,建立数据库连接,获取配置信息等。
   
       细节注意:1,Servlet容器复杂加载和实例化Servlet;2,创建一个Servlet对象,init()方法只被调用一次;3,初始化阶段会抛出ServletException异常,发生异常servlet不在被执行。

   2)运行阶段

       servlet对象接受请求,创建ServletRequest和ServletResponse对象,然后调用service方法。

      细节注意:1,service()方法调用之前,init()方法必须成功执行即初始化成功;2,通过ServletRequest对象得到客户端的相关请求信息,ServletResponse设置相应信息。

  3)销毁阶段

     Servlet容器调用destroy()方法后,容器释放Servlet实例,垃圾回收机制处理。
  
     细节注意:1,当Servlet容器终止运行,或重新加载新实例时,调用destroy()方法。
  

总结

     在servlet生命周期中,servlet的初始化和销毁只发生一次,即init()方法和destroy()方法执行一次,servlet()方法被执行的次数取决于被访问的次数。整个过程就涉及到这三个方法。


转自:http://blog.csdn.net/lishuangzhe7047/article/details/17622461

你可能感兴趣的:(深入理解Servlet [转])