码迷,mamicode.com
首页 > 其他好文 > 详细

二、Servlet-生命周期

时间:2016-03-21 23:00:32      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:

Servlet生命周期

Servlet生命周期可被定义从创建到销毁的整个过程。

(1)Servlet调用init()方法进行初始化

(2)Servlet调用service()方法来处理客户端请求

(3)Servlet通过destroy()方法终止

(4)最后,Servlet由JVM的垃圾回收器进行回收

init()方法

init()方法被设计成只调用一次。只在第一次创建Servlet时被调用,后续每次用户请求时不再调用。

Servlet创建于用户第一次调用对于该Servlet的URL时,但是也可以指定Servlet在服务器第一次启动时被加载。

当用户调用一次Servlet时,就创建一个Servlet实例,每一个用户请求都会产生一个新线程,适当的时候移交给doGet()或doPost()方法。init()方法简单地创建或加载一些数据,这些数据将被用于Servlet的整个生命周期。

init()方法如下:

  public void init() throws ServletException{
    //初始化代码...

  }

service()方法

service()方法是执行实际任务的主要方法。Servlet容器(Web服务器)调用service()方法来处理客户端请求,并把格式化的响应返回给客户端。

服务器每收到一个Servlet请求时,就产生一个新的线程并调用服务。service()方法检查HTTP请求类型(GET/POST/PUT/DELETE等),并调用doGet()等方法。

下面是该方法:

  public void service(ServletRequest request,ServletResponse response)throws ServletException,IOException{

    //代码

  }

doGet()方法

GET请求来自于一个url的正常请求,或者来自于一个未指定Method的HTML表单,它由doGet()方法处理。

  public void doGet()throws ServletException,IOException{

    //代码

  }

doPost()方法

POST请求来自于一个指定了Method为HTML表单,它由doPost()方法chuli。

  public  void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{

    //代码

   }

destroy()方法

destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。destroy()方法可以让Servlet关闭数据库连接、停止后台线程、把Cookie列表或点击计数器写入磁盘。

调用完destroy()后,servlet对象被标记为垃圾回收。

  public  void destroy(){

  //终止代码

  }

 

二、Servlet-生命周期

标签:

原文地址:http://www.cnblogs.com/zdy13/p/5304187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!