Servlet 生命周期

1、生命周期
servlet是一个单实例 多线程的程序
servlet的生命周期
【1】类加载
“com.java.servlet.LifeServlet”
Class clazz= Class.forName(“com.java.servlet.LifeServlet”);
【2】实例化 (离不开反射)
Object obj= clazz.newInstance();
【3】 初始化(离不开反射)
【4】服务请求(service)(离不开反射)
【5】 销毁操作(离不开反射)

2、类加载的时机
【1】默认的情况是第一次访问servlet的时候进行类加载
【2】<load-on-startup>0</load-on-startup>(当启动服务器时候加载) 数字越小加载的时机越往前
3、代码实现

	//实例化方法   执行一次
	 public  LifeServlet(){
		 
		 System.out.println("LifeServlet.LifeServlet()");
	 }
	
	  //请求服务---每一次请求都会执行
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		System.out.println("LifeServlet.doGet()");
	}
    //请求服务---每一次请求都会执行
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		System.out.println("LifeServlet.doPost()");
	}
	
	//判断调用doget还是dopost--执行多次
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		
		//获得传递的方法名成---GET/POST
		String method = req.getMethod();
		System.out.println(method);
		if("GET".equals(method)){
			
			doGet(req, resp);
		}else if("POST".equals(method)){
			
			doPost(req, resp);
		}else {
			
			System.out.println("执行其他的方法");
		}
	
	}
	
   //销毁操作  关闭服务器执行一次
	@Override
	public void destroy() {
		System.out.println("LifeServlet.destroy()");
	}
    
	//初始化方法 ----执行一次
	@Override
	public void init() throws ServletException {
		System.out.println("LifeServlet.init()");
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AloneDrifters

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

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

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

打赏作者

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

抵扣说明:

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

余额充值