Servlet 工作原理

1.1 Servlet 的生命周期

Servlet 的生命周期主要有下列三个过程组成:

(1)初始化 servlet。servlet 第一次被请求加载时,服务器初始化这个 servlet,即创

建一个 servlet 对象,这对象调用 init 方法完成必要的初始化工作。

(2)诞生的 servlet 对象再调用 service 方法响应客户的请求。

(3)当服务器关闭时,调用 destroy方法,消灭 servlet 对象。

init 方法只被调用一次,即在 servlet 第一次被请求加载时调用该方法。当后续的客户

请求 servlet 服务时,Web 服务将启动一个新的线程,在该线程中,servlet 调用 service 方法响应客户的请求,也就是说,每个客户的每次请求都导致 service方法被调用执行。


1.2init 方法

该方法是HttpServlet 类中的方法,我们可以在servlet 中重写这个方法。

方法描述:

public void init(ServletConfig config)throws ServletException

servlet 第一次被请求加载时,服务器初始化一个 servlet,即创建一个 servlet 对象,

这个对象调用 init 方法完成必要的初始化工作。该方法在执行时,servlet 引擎会把一个SevletConfig 类型的对象传递给 init()方法,这个对象就被保存在 servlet 对象中,直到

servlet 对象被消灭,这个 ServletConfig 对象负责向 servlet 传递服务设置信息,如果传递

失败就会发生ServeletException,servlet 就不能正常工作。

当多个客户请求一个servlet时,引擎为每个客户启动一个线程,那么servlet 类的成员变量被所有的线程共享。


1.3 service 方法

该方法是HttpServlet 类中的方法,我们可以在servlet 中直接继承该方法或重写这个

方法。

方法描述:

public void service(HttpServletRequestrequest HttpServletResponse

response)throw ServletException,IOException

当 servlet成功创建和初始化之后,servlet 就调用 service 方法来处理用户的请求并

返回响应。Servlet 引擎将两个参数传递给该方法,一个 HttpServletRequest 类型的对象,该对象封装了用户的请求信息,此对象调用相应的方法可以获取封装的信息,即使用这个对

象可以获取用户提交的信息。另外一个参数对象是 HttpServletResponse 类型的对象,该对

象用来响应用户的请求。和init 方法不同的是,init 方法只被调用一次,而 service 方法可

能被多次的调用,我们已经知道,当后续的客户请求 servlet 服务时,Servlet 引擎将启动一

个新的线程,在该线程中,servlet调用 service 方法响应客户的请求,也就是说,每个客户

的每次请求都导致service 方法被调用执行,调用过程运行在不同的线程中,互不干扰。


1.4 destroy 方法

该方法是HttpServlet 类中的方法。servlet 可直接继承这个方法,一般不需要重写。

方法描述:

public destroy()

当 Servlet引擎终止服务时,比如关闭服务器等,destroy()方法会被执行,消灭 servlet

对象。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值