Servlet生命周期

Servlet生命周期

服务器上

创建阶段:tomcat根据请求来创建一个servlet对象。

Tomcat会根据URL来找到servlet虚拟路径,通过web.xml找到对应的serlvet类,tomcat会分配一块内存空间作为servlet容器来存放创建出来的这些servlet对象,

(创建是通过Class cla=class.forName("类名"),cla.newInstance();创建servlet对象。)

初始阶段:调用init方法初始化servlet对象,且只会被调用一次

调用阶段:自动调用service方法,响应其所有方法,可以被调用多次

销毁阶段:调用destroy方法(通过Tomcat的reload/关闭tomcat/关闭计算机);

Servlet的每次提供服务实际都是调用service方法。只不过service方法内部会根据客户端的请求方式再决定调用doGet还是doPost。

初始化阶段

在以下时刻Servlet容器装载Servlet

1.Servlet启动时自动装载某些Servlet,实现方法:在web.xml文件中的中添加1

2.在Servlet容器启动后,客户端首次向Servlet发送请求

3.Servlet类文件被更新,重新装载Servlet

Servlet被装载后,Servlet容器创建一个Servlet实例调用Servlet的init方法进行初始化,在整个生命周期中,init方法只会被调用一次

调用阶段

对于客户的请求到达Servlet,Servlet容器会创建特定于这个请求的ServletRequest对象和ServletResponse对象,然后会调用Servlet的service方法。然后service方法从ServletRequest对象中获取客户的请求信息,处理该请求,并通过ServletResponse对象向客户端返回响应信息。

销毁阶段

当web应用被终止,或者Servlet容器终止运行,或者Servlet容器重新装载Servlet,Servlet容器会调用Servlet的destroy方法,去释放Servlet所占用的资源。

调用destroy方法的三种方式:通过Tomcat的Reload方式调用destroy,关闭Tomcat服务,关闭计算机。

相关推荐
郑州光合科技余经理12 分钟前
海外国际版同城服务系统开发:PHP技术栈
java·大数据·开发语言·前端·人工智能·架构·php
一行注释25 分钟前
前端数据加密:保护用户数据的第一道防线
前端
纪伊路上盛名在30 分钟前
记1次BioPython Entrez模块Elink的debug
前端·数据库·python·debug·工具开发
xiaoxue..32 分钟前
React 之 Hooks
前端·javascript·react.js·面试·前端框架
旧梦吟37 分钟前
脚本网页 三人四字棋
前端·数据库·算法·css3·html5
莫物39 分钟前
element el-table表格 添加唯一标识
前端·javascript·vue.js
我看刑40 分钟前
【已解决】el-table 前端分页多选、跨页全选等
前端·vue·element
我会一直在的1 小时前
Fiddler基础使用介绍
前端·测试工具·fiddler
小明记账簿1 小时前
前端文件流下载方法封装
前端
IT_陈寒1 小时前
Vite 5大优化技巧:让你的构建速度飙升50%,开发者都在偷偷用!
前端·人工智能·后端