Servlet的生命周期

一、Servlet的生命周期

当客户端发送请求时,由web容器(Tomcat服务器)进行解析,根据请求判断相应的Servlet是否存在,若不存在则创建Servlet实例并调用init()方法进行初始化;之后调用service()方法,由service()判断客户端发起的请求方式,根据请求方式的不同调用不同的处理方法;最后,将处理的结果响应至客户端。
当客户端再次发送请求时,由web容器(Tomcat服务器)进行解析,根据请求判断相应的Servlet是否存在,存在则不再创建Servlet实例和调用Init()方法;而是直接调用service()方法,进行响应的请求处理,并将处理的结果响应至客户端。
只有调用destory()方法、关闭服务器或超过servlet设置的过期时间,servlet的生命才终止。

二、四个过程

servlet的生命周期大致分为四个阶段:

  1. 实例化 --通过无参构造
  2. 初始化 --Init()方法
  3. 服务 --service()方法
  4. 销毁 --destory()方法

在这里插入图片描述
代码如下(示例):

	// 1.实例化
	public HomeServlet() {
		System.out.println("1.HomeServlet构造方法被调用");
	}
	// 2.初始化
	@Override
	public void init() throws ServletException {
		System.out.println("2.HomeServlet实例初始化");
	}
	// 3.重写父类中的doGet()方法/doPost()方法
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("HomeServlet的get()方法被请求到了....");
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("HomeServlet的post()方法被请求到了.....");
	}
	// 4.销毁
	@Override
	public void destroy() {
		System.out.println("4.HomeServlet实例被销毁");
	}

在这里插入图片描述

三、总结

Servlet被加载后,通过单例模式创建Servlet实例并调用InIt()方法且在Servlet整个生命周期中Init()方法只被调用一次;客户请求对应的servlet,web容器创建指定请求的HttpServletRequest对象和HttpServletResponse对象,之后调用servlet的service()方法,通过HttpServletRequest对象获取客户端请求的信息、HttpServletResponse对象向客户端返回响应的信息。;最后当web应用终止时调用destory()方法,释放servlet所占的资源。

  • 18
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MM呦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值