分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

HTTP Servlet的生命周期

发布时间:2023-09-06 01:35责任编辑:胡小海关键词:暂无标签

  Servlet运行在容器中,没有main方法,所以生命周期由容器控制。简单地说,Servlet的生命周期只有两个状态:未创建状态和初始化状态,通过3个方法来控制:init()、service()和destroy()。其中,init()方法是Servlet生命的起点,用于占有与Servlet相关的资源以及完成初始化工作;service()方法根据HTTP请求方法(get、post等)将请求分发给doGet()和doPost()等方法;destroy()方法释放在init()方法中占有的与Servlet实例相关的资源。

  Servlet的状态图如下:

  

  具体而言,Servlet的生命周期分为加载、创建、初始化、处理请求和卸载5个阶段。

  1. 加载

  容器通过类加载器使用Servlet类对应的文件来加载Servlet。

  2. 创建

  调用Servlet的构造方法来创建一个Servlet实例。

  3. 初始化

  调用Servlet实例的init()方法完成初始化工作,在处理请求前被调用且只会被调用一次。

  4. 处理请求

  每当有新的请求到达时,容器会创建一个新的线程来处理该请求,调用Servlet实例的service()方法响应请求。其中,service()方法根据请求的method属性值的不同调用doGet()方法或者doPost()方法。

  5. 卸载

  容器在卸载Servlet实例之前会调用destroy()方法,释放Servlet实例占有的资源,该方法只会被调用一次。

  参考资料

  《Java程序员面试笔试宝典》 P168-169

HTTP Servlet的生命周期

原文地址:https://www.cnblogs.com/WJQ2017/p/8260654.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved