Servlet生命周期

1.读取web.xml文件

        (1).浏览器客户端发送请求,服务器找到其url,解析项目下的web.xml文件

        (2).在<servlet-mapping>中的<url-pattern>找到匹配的url

        (3).通过<servlet-mapping>中的<servlet-name>找到上面的<servlet>中的<servlet-class>

        (4).访问对应的类

<servlet>
        <!--给servlet起的名字,可以随意命名-->
        <servlet-name>MyServlet</servlet-name>
        <!--当服务器读取配置文件的时候通过这个路径找到对应的类给浏览器返回响应-->
        <servlet-class>ServletLife</servlet-class>
    </servlet>

    <servlet-mapping>
        <!--必须和上面servlet名字相同,使servlet和servlet-mapping相关联-->
        <servlet-name>MyServlet</servlet-name>
        <!--浏览器客户端传给服务器请求,服务器读取其url,从配置文件中找到相应的url-->
        <url-pattern>ServletLife</url-pattern>
    </servlet-mapping>

2.调用该类的构造函数

public ServletLife(){
        System.out.println("Servlet被创建");
    }

3.new该类的对象(init的方法执行)

//当创建一个类的对象的时候会调用init方法
    @Override
    public void init() throws ServletException {
        System.out.println("init方法被使用了");
    }

4.根据请求方式调用do××方法

@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet方法被执行");
    }

5.代码执行结束或关闭服务器,对象被销毁执行destroy方法,生命周期结束

//当一个对象声明周期结束之前会执行destroy
    @Override
    public void destroy() {
        System.out.println("destroy方法被使用");
    }

 注意:当执行完一次do××方法后,再对服务器发出相同的请求时,构造方法和init方法不会被第二次执行,可见servlet采用的单例设计模式-懒汉式,当servlet被访问时,之后的所有请求都要等本次执行结束以后再访问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值