【Servlet-1】Servlet对象的生命周期

Servlet对象的生命周期

1.什么是生命周期?
表示一个Java对象从最初创建到最终被销毁,所经历的过程

2.Servlet对象的生命周期是谁来管理的?程序员可以干涉吗?
Servlet对象的生命周期javaweb程序员是无权干涉的,包括该Servlet对象的方法的调用,javaweb程序员也是无权干涉的。Servlet对象的创建,方法的调用,以及对象的销毁整个过程都是由web服务器来管理的。

3.默认状况下,Servlet对象在web服务器启动阶段不会实例化

4.描述Servlet对象生命周期
 1 用户在浏览器上输入URL地址:http://localhost/24_Servlet/testLifeCycle
 2 web容器截取请求地址路径:/24_Servlet/testLifeCycle
 3 web容器在容器上下文中找请求路径/24_Servlet/testLifeCycle对应的Servlet对象
 4 如果没有找到对应的Servlet对象
  4.1 通过web.xml文件,得到请求路径/testLifeCycle对应的Servlet完整类名
  4.2 通过简历机制,调用Servlet类的无参构造方法完成Servlet对象的实例化
  4.3 web容器调用Servlet对象的init方法完成初始化操作
  4.4 web容器调用Servlet对象的service方法提供服务
 5 如果找到对应的Servlet对象
  web容器直接调用Servlet对象的service方法提供服务
 6 web容器关闭的时候/webapp重新部署的时候/该Servlet对象长时间没有用户再次访问的时候,web容器会将该Servlet对象销毁,在销毁该对象之前,web容器会调用Servlet的destroy方法,完成销毁之前的准备。

5.总结:
 1 Servlet对象的构造方法只执行一次
 2 Servlet对象的init方法值执行一次
 3 Servlet对象的service方法,只要用户请求一次,就执行一次
 4 Servlet对象的destroy方法只执行一次
 5 init 方法执行的时候,Servlet对象已经创建好了
 6 destroy方法执行的时候,Servlet对象还没有销毁
 
6.若希望在web服务器启动阶段实例化Servlet对象,需要在web.xml文件中进行相关的配置

	<servlet>
        <servlet-name>testLifeCycle</servlet-name>
        <servlet-class>Servlet.ServletDemo1</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>testLifeCycle</servlet-name>
        <url-pattern>/testLifeCycle</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>welcomServlet</servlet-name>
        <servlet-class>Servlet.ServletDemo2</servlet-class>
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>welcomServlet</servlet-name>
        <url-pattern>/welcom</url-pattern>
    </servlet-mapping>

7.Servlet对象实例化之后,这个Servlet对象被存储到哪里了?
web容器是将该Servlet对象及url-parttern存储到Map集合中Map<String,Servlet>

8.服务器启动的时候就会解析各个webapp的web.xml,做了什么?
将web.xml文件中的url-parttern和Servlet完整类名存储到Map集合中Map<String,String>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我一直在流浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值