Servlet生命周期

4 篇文章 0 订阅

Servlet实现

如果要开发一个可以处理HTTP请求的Servlet程序,肯定是要继承HttpServlet类,而且在自定义的Servlet类中至少还要覆写HttpServlet类中提供的doGet()方法:
protected void doGet(HttpServletRequestreq,HttpServletResponseresp) throws ServletException,IOException

接收参数
由于Servlet本身也存在HttpServletRequest和HttpServletResponse对象的声明,所以就可以使用Servlet接收用户所提交的内容。  

Servlet生命周期
Servlet程序是运行在服务器端的一段java程序,其生命周期将受到WEB容器的控制,生命周期包括:加载程序、初始化、服务、销毁、卸载五个部分



生命周期对应的方法

No.

方法

类型

描述

1

public void init() throws ServletException

普通

Servlet初始化时调用

2

public void init(ServletConfig config) throws ServletException

普通

Servlet初始化时调用,可以通过ServletConfig读取配置信息

3

public abstract void service(ServletRequest req,ServletResponse res) throws ServletException,IOException

普通

Servlet服务,一般不会直接覆写此方法,而是使用doGet()或doPost()方法

4

public void destroy()

普通

Servlet销毁时调用


各个生命周期的作用
加载Servlet
WEB容器负责加载Servlet,当WEB容器启动的时候或者是在第一次使用这个Servlet的时候,容器会负责创建Servlet实例,但是用户必须通过部署描述符(web.xml)指定Servlet的位置(Servlet所在的包.类名称),成功加载之后,WEB容器会通过反射的方式对Servlet进行实例化。
初始化
当一个Servlet被实例化之后,容器将调用init()方法初始化这个对象,初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,例如:建立数据库连接、读取资源文件信息等,如果初始化失败,则此Servlet将被直接卸载。
处理服务
当有请求提交时,Servlet将调用service()方法(常用的是doGet()或doPost())进行处理,在service()方法中,Servlet可以通过ServletRequest接收客户的请求,也可以利用ServletResponse设置响应信息。
销毁
当WEB容器关闭或者检测到一个Servlet要从容器中被删除时,会自动调用destroy()方法,以便让该实例释放掉所占用的资源。
卸载
当一个Servlet调用完destroy()方法后,此实例将等待被垃圾收集器所回收,如果需要再次使用此Servlet的时候,会重新调用init()方法初始化。 

Servlet的生命周期由Servlet容器(如:Tomcat)控制

容器如何处理请求:

生命周期的各个阶段



Servlet在Tomcat中部署

Servlet的配置



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值