Servlet, Filter, Listener 启动与执行顺序

Servlet, Filter, Listener 启动与执行顺序

    • 1、启动顺序 **Listener -> Filter -> Servlet**
    • 2、记忆口诀
    • 3、执行顺序


💖The Begin💖点点关注,收藏不迷路💖

在Java Web应用中,Servlet、Filter和Listener的启动与执行顺序至关重要,它们遵循着固定的流程:

1、启动顺序 Listener -> Filter -> Servlet

  • 1.1 Listener(监听器):最先加载,监听应用生命周期等事件。

启动时机

  • Web应用启动时,容器会首先加载并初始化Listener。

作用

  • 监听Web应用中的特定事件,如ServletContext的创建和销毁、HttpSession的创建和销毁等。
  • 在这些事件发生时执行相应的逻辑,如初始化资源、清理数据等。
  • 1.2 Filter(过滤器):随后初始化,处理请求前后的预处理和后处理。

初始化

  • 在Web应用启动且Listener初始化之后,Filter会被初始化。

作用

  • 在Servlet处理请求之前或之后,对请求和响应进行预处理和后处理。
  • 例如,进行请求验证(如身份验证、授权)、日志记录、字符编码转换等。
  • Servlet(服务器端程序):最后初始化,处理具体业务逻辑。

初始化

  • 在Filter之后,Servlet会被初始化。

作用

  • 处理客户端发送的请求,并生成响应返回给客户端。
  • 是Web应用中最核心的业务处理单元,负责执行具体的业务逻辑。

2、记忆口诀

理(Listener)发(Filter)师(Servlet)
这个口诀形象地帮助记忆它们的启动顺序。

3、执行顺序

需要注意的是,虽然启动顺序是固定的,但执行顺序(特别是在处理请求时)可能因Filter的配置和请求的具体路径而有所不同。Filter可以配置为拦截特定的URL模式,从而对符合条件的请求进行过滤处理。


在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/53070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从0开始深度学习(2)——自动微分

1 微积分 1.1 导数和微分 略 1.2 偏导数 略 1.3 梯度(gradient) 1.3.1 定义 对于一个多变量函数 f ( x 1 , x 2 , … , x n ) f\left(x_{1}, x_{2}, \ldots, x_{n}\right) f(x1​,x2​,…,xn​)其中点 a ( a 1 , a 2 , … , a n ) \mathbf{a}(a_…

【卷起来】VUE3.0教程-01-环境搭建与安装

​分享不易,耗时耗力,麻烦给个不要钱的关注和赞吧 🌲 什么是VUE Vue 是一个框架,也是一个生态。其功能覆盖了大部分前端开发常见的需求。但 Web 世界是十分多样化的,不同的开发者在 Web 上构建的东西可能在形式和规模…

SpringSecurity笔记整理

自定义登录页面 编写登录页面<!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml" xmlns:th"https://www.thymeleaf.org"> <head><title>Please Log In</title> </head> <body> <h1>Please Log …

鸿蒙OpenHarmony、HarmonyOS、HarmonyOS NEXT的区别

鸿蒙OpenHarmony、HarmonyOS、HarmonyOS NEXT的区别 OpenHarmony&#xff1a;开源底层。HarmonyOS&#xff1a;闭源手机系统&#xff0c;兼容安卓生态。HarmonyOS NEXT&#xff1a;纯血鸿蒙&#xff0c;不兼容安卓。 OpenHarmony&#xff08;开源&#xff09; 开源地址&…

Question mutiple pdf‘s using openai, pinecone, langchain

题意&#xff1a;使用 OpenAI、Pinecone 和 LangChain 对多个 PDF 文件进行提问。 问题背景&#xff1a; I am trying to ask questions against a multiple pdf using pinecone and openAI but I dont know how to. 我正在尝试使用 Pinecone 和 OpenAI 对多个 PDF 文件进行提…

【Linux】保姆级 Linux 常见命令使用

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. Linux 是什么1.1 Linux 是什么1.2 关于 Linux 我们需要学什么 2. 需提前准备的东西2.1 环境 —— 如何获取…

使用 Eigen 库中的 Kronecker 积运算

前言 在数值计算和线性代数的众多应用中&#xff0c;Kronecker 积&#xff08;Kronecker Product&#xff09;是一种常用的矩阵运算。Eigen 是一个高性能的 C 数值计算库&#xff0c;广泛用于科学计算和工程应用中。在 Eigen 库中&#xff0c;Kronecker 积运算属于不常用的扩展…

【QNX+Android虚拟化方案】114 - QNX /dev/switch 节点创建 及 读写功能实现实例

【QNX+Android虚拟化方案】114 - QNX /dev/switch 节点创建 及 读写功能实现实例 一、/dev/switch 节点创建代码分解1. 头文件包含2. 创建节 /dev/switch 节点代码3. /dev/switch 节点读函数实现(cat /dev/switch)4. /dev/switch 节点写函数实现(echo "abcdef" &g…

构建高效微服务架构:Spring Cloud中的注册中心与负载均衡实践

一、注册中心的重要性 服务发现&#xff1a; 服务注册/注销&#xff1a;注册中心维护着所有服务提供者和服务消费者的元数据信息。服务订阅/取消订阅&#xff1a;服务消费者可以通过订阅来获取服务提供者的信息&#xff0c;并且注册中心应当支持实时推送更新。服务路由&#…

Linux 进程概念

冯诺依曼体系结构 我们常见的计算机&#xff0c;大部分都遵守冯诺依曼体系结构 关于冯诺依曼的注意点 1.这里的存储器指的是内存 2.不考虑缓冲情况&#xff0c;这里的CPU能且只能对内存进行读写&#xff0c;不能访问外设(输入或输出设备) 3.外设(输入或输出设备)要输入或者输出…

自定义校验--校验json长度

mysql8中支持json格式的字段&#xff0c;某些情况下使用很方便&#xff0c;但也带来一个问题&#xff0c;就是它的最大长度不能设置&#xff0c;最大支持4GB&#xff0c;如果有恶意程序保存一条4GB的数据进去&#xff0c;估计这张表就要卡死了,所以要加一个自定义校验&#xff…

23. 如何使用Collections.synchronizedList()方法来创建线程安全的集合?有哪些注意事项?

Collections.synchronizedList() 方法用于将一个普通的 List 包装成线程安全的 List。通过这个方法生成的 List&#xff0c;所有的访问和修改操作都会被自动加锁&#xff0c;从而确保在多线程环境下对集合的并发访问是安全的。 如何使用 Collections.synchronizedList() 创建线…

学习周报-2024.8.31

目录 摘要 Abstract 创新点总结 模型数学原理 实验设置 一、验证实验 二、对比实验 摘要 这周重新梳理出论文的三个创新点&#xff0c;对所提出方法进行数学原理验证&#xff0c;证明其可行性。重新设置了实验部分&#xff0c;分为验证实验和对比实验&#xff0c;一共四…

真实较量|以挖矿告警闭环应急处置

背景 2024年6月18日&#xff0c;在公司关键位置部署的安全检测设备的告警日志中&#xff0c;发现大量挖矿软件请求矿池的告警事件。安全运营人员已经进行了相关处置&#xff0c;但是由于攻击者手法的隐蔽未处理干净&#xff0c;一直产生告警信息。 行动 通过与服务器运营人员…

Django+vue自动化测试平台(29)--测试平台集成playwright录制pytest文件执行

需求背景 一、 系统目标与功能概述 脚本管理: 系统需要能够组织和存储所有通过playwright官方插件录制的脚本。这包括脚本的上传、编辑、删除和版本控制功能。 脚本执行: 用户应该能够在后台界面上查看所有可用的脚本&#xff0c;并能够通过简单的点击操作来启动特定脚本的执…

【行测笔记】

题型 判断推理题型 1. 图形推理 位置规律-元素组成相同 横着看竖着看旋转翻折对称 样式规律-元素组成相似 元素组成相同 相同线条重复出现 相加相减旋转求同求异黑白加减规律 特征&#xff1a;图形轮廓和分割区域相同&#xff0c;内部颜色不同方法&#xff1a;相同位置运算…

python学习11-Pytorch环境安装与模型搭建

先查看下自己的电脑是否是英伟达显卡 如果不是就需要租用平台了,如 AutoDL算力云 https://www.autodl.com/home CUDA 当涉及到深度学习和 Python 时&#xff0c;CUDA 是一个非常重要的概念&#xff0c;它是 NVIDIA 开发的并行计算平台和应用程序编程接口&#xff08;API&am…

从源码到产品:视频美颜SDK与直播美颜插件的开发详解

开发一款高效的视频美颜SDK与直播美颜插件&#xff0c;不仅需要深入理解图像处理技术&#xff0c;还需要考虑到性能优化、跨平台支持等多个方面的挑战。接下来&#xff0c;笔者将从源码开发的角度&#xff0c;详解视频美颜SDK与直播美颜插件的开发过程。 一、视频美颜SDK的核心…

仿华为车机功能之--修改Launcher3,实现横向滑动桌面空白处切换壁纸

本功能基于Android13 Launcher3 需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。 实现效果: 实现思路: 第一步首先得增加手势识别 第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗…

asp.net core在win上的发布和部署

一、asp.net core两种发布方式 1、两个发布方式——【框架依赖发布】和【独立发布】 2、两种发布方式的差别 二、发布的详细过程 1、【生成】->【发布】 2、框架依赖发布 设置发布参数&#xff0c;然后进行发布 发布好的文件&#xff0c;把它们放到一个新的目录文件夹里 …