Servlet程序开发-- Servlet生命周期

本文深入探讨了Servlet的生命周期管理,包括初始化、服务、销毁等关键步骤,以及如何通过web.xml配置实现容器启动时自动初始化。同时解释了service方法的作用,并说明了GET和POST请求的区分及处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生命周期是一个程序的存在周期,受容器管理,所以容器决定生命周期。

生命周期包括 加载,初始化,服务,销毁,卸载 5个部分

加载:第一次使用的时候加载

初始化:init方法, 失败的话,直接卸载,如果成功的话,进行服务的操作,如果服务不再使用,进行销毁再卸载

服务:service方法

销毁:destroy方法

代码:

package org.lxh.servletdemo ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
public class LifeCycleServlet extends HttpServlet{
    public void init() throws ServletException{
        System.out.println("** 1、Servlet初始化 --> init()") ;
    }
    public void doGet(HttpServletRequest req,HttpServletResponse resp)
              throws ServletException,IOException{
        System.out.println("** 2、Servlet服务 --> doGet()、doPost()") ;
    }
    public void doPost(HttpServletRequest req,HttpServletResponse resp)
              throws ServletException,IOException{
        this.doGet(req,resp) ;
    }
    public void destroy(){
        System.out.println("** 3、Servlet销毁 --> destory()") ;
        try{
            Thread.sleep(3000) ;
        }catch(Exception e){}
    }/*
    public void service(ServletRequest req,
                             ServletResponse res)
                      throws ServletException,
                             IOException{
        System.out.println("************ 服务 **************") ;
    }
    */
}

web.xml配置:

<servlet>
        <servlet-name>life</servlet-name>
        <servlet-class>org.lxh.servletdemo.LifeCycleServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>life</servlet-name>
        <url-pattern>/LifeServlet</url-pattern>
    </servlet-mapping>

init:在第一次运行的时候才会初始化

销毁destroy:

1. 容器关闭

2. 一个servlet长时间不使用

3. 还有一种开发中的可能性,执行了reload操作

 

如果调用service方法的话,主要功能是区分是get请求还是post请求,如果是get请求,则调用doGet方法,如post请求,则调用doPost请求,但是一旦在子类中被覆写之后,则没有了区分此种的能力,所以doGet和doPost都失效了。

实际上,这种方法更像是一种设计的模板操作,只需要按照要求将方法覆写完成了,那么就可以实现响应的功能。

当然还有一点需要注意,在正常情况下,初始化是在servlet第一次使用的时候调用,如果需要在容器启动的时候,servlet可以直接进行初始化操作的话,可以设置web.xml文件,增加一个相应的配置参数,表示在容器启动的时候加载参数:

<load-on-startup>1</load-on-startup>

 

总结:

1. 最重要的就是service方法,doGet,doPost是专门负责处理请求的。

2. 通过配置web.xml文件可以在服务器启动时自动初始化servlet

转载于:https://www.cnblogs.com/wujixing/p/4969308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值