元月's blog 元月's blog
首页
  • 基础
  • 并发编程
  • JVM
  • Spring
  • Redis篇
  • Nginx篇
  • Kafka篇
  • Otter篇
  • Shardingsphere篇
  • 设计模式
  • MySQL
  • Oracle
  • 基础
  • 操作系统
  • 网络
  • 数据结构
  • 技术文档
  • Git常用命令
  • GitHub技巧
  • 博客搭建
  • 开发工具
更多

元月

临渊羡鱼,不如退而结网
首页
  • 基础
  • 并发编程
  • JVM
  • Spring
  • Redis篇
  • Nginx篇
  • Kafka篇
  • Otter篇
  • Shardingsphere篇
  • 设计模式
  • MySQL
  • Oracle
  • 基础
  • 操作系统
  • 网络
  • 数据结构
  • 技术文档
  • Git常用命令
  • GitHub技巧
  • 博客搭建
  • 开发工具
更多
  • Spring

    • SpringFramework源码编译
    • Spring事件监听机制
    • SpringMVC之Servlet的生命周期和工作原理
      • 一、Servlet的生命周期
        • 1)客户端请求该 Servlet
        • 2)加载 Servlet 类到内存并实例化
        • 3)初始化阶段: 调用init()方法
        • 4)响应客户请求阶段:调用service()方法
        • 5)终止阶段:调用destroy()方法
      • 二、Servlet的工作原理
      • 三、思维导图
    • SpringMVC的执行过程
    • SpringMVC的常用注解和使用场景
  • Java进阶
  • Spring
元月
2022-07-29
目录

SpringMVC之Servlet的生命周期和工作原理

# SpringMVC之Servlet的生命周期和工作原理

# 一、Servlet的生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程

# 1)客户端请求该 Servlet

# 2)加载 Servlet 类到内存并实例化

# 3)初始化阶段: 调用init()方法

在下列时刻Servlet容器装载Servlet:

  • Servlet容器启动时自动1装载某些Servlet,实现它只需要在web.xml文件中的<Servlet></Servlet>之间添加如下代码
 <loadon-startup>1</loadon-startup>
1
  • 在Servlet容器启动后,客户首次向Servlet发送请求

  • Servlet类文件被更新后,重新装载Servlet Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的ini()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次。

# 4)响应客户请求阶段:调用service()方法

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

# 5)终止阶段:调用destroy()方法

当WEB应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet新实例时,Servlet容器会先调用Servle的 destroy()方法,在destroy()方法中可以释放掉Servlet所占用的资源

# 二、Servlet的工作原理

img_2.png

工作流程说明:

  1. Web Client 向Servlet容器(Tomcat)发出Http请求
  2. Servlet容器接收Web Client的请求
  3. Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中。
  4. Servlet容器创建一个HttpResponse对象
  5. Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet 对象。
  6. HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息。
  7. HttpServlet调用HttpResponse对象的有关方法,生成响应数据。
  8. Servlet容器把HttpServlet的响应结果传给Web Client。

# 三、思维导图

img_3.png

#Spring#SpringMVC
Spring事件监听机制
SpringMVC的执行过程

← Spring事件监听机制 SpringMVC的执行过程→

最近更新
01
otter二次开发-支持按目标端主键索引Load数据
08-03
02
mvnw简介
06-21
03
gor流量复制工具
06-03
更多文章>
Theme by Vdoing | Copyright © 2022-2024 元月 | 粤ICP备2022071877号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式