WEB后端复习——监听器、过滤器

Listener监听器

是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。

注解@WebListener

1.ServletContextListener

监听ServletContext域的创建与销毁

创建:服务器启动针对每一个web应用创建servletcontext,触发contextInitialized ( )方法

销毁:服务器关闭前先关闭代表每一个web应用的ServletContext,触发contextDestroyed( )方法。

2.servletRequestListener

监听ServletRequest域创建与销毁

创建:用户每一次访问都会创建request对象,触发requestlnitialized ()方法。

销毁:当前访问结束,request对象就会销毁,触发requestDestroyed方法。

3.ServletContextAttributeListener------监听ServletContext域的属性变化的

当ServletContext对象添加属性时,触发attributeAdded()方法。

当ServletContext对象修改属性时,触发attributeReplaced( )方法。

当ServletContext对象删除属性时,触发attributeRemoved()方法。

在线人数统计


过滤器Filter

Filter有3个阶段,分别是初始化,拦截和过滤,销毁。

初始化阶段:当服务器启动时,我们的服务器(Tomcat)就会读取配置文件,扫描注解,然后来创建我们的Filter。

拦截和过滤阶段:只要请求资源的路径和拦截的路径相同,那么过滤器就会对请求进行过滤,这个阶段在服务器运行过程中会一直循环。

销毁阶段:当服务器(Tomcat)关闭时,服务器创建的Filter也会随之销毁。

doFilter方法中处理完业务逻辑之后,必须添加filterchain.doFilter(servletRequest,servletResponse); 否则请求/响应无法向后传递,一直停留在过滤器中。


配置过滤器

①注解@webFilter("/*")【拦截所有】

②xml中配置

java 复制代码
<filter>
    <filter-name>1</filter-name>
    <filter-class>com.example.jlsystem</filter-class>
</filter>
<filter-mapping>
    <filter-name>3</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

多个过滤器的先后顺序

多个过滤器之间会依次执行,这个依次就是按照过滤器名字的字典顺序来执行的,也就是说,在案例中,Filter1比Filter2的字典顺序靠前,所以就会先执行Filter1,再执行Filter2。在执行完放行前的语句之后,在执行放行后的语句的时候,是和之前的执行顺序是相反的,也就是说,多个过滤器链遵循先进先出,后进后出的原则

我们可以看见Filter01先进行过滤,然后交给Filter02,然后访问资源,然后Filter02对响应进行过滤,然后Filter01对响应进行过滤。

过滤词

相关推荐
雪隐3 分钟前
用Flutter做背单词APP-03为了给单词库塞满数据,我让AI给我打了上万份工
前端·人工智能·后端
苏三说技术18 分钟前
为什么越来越多的人使用PostgreSQL?
后端
Csvn18 分钟前
📊 SQL 入门 Day 1:SELECT & WHERE — 数据查询的基本功
后端·sql
不一样的少年_22 分钟前
不用框架,手搓 AI Agent:(一) 先让它跑起来
前端·后端·agent
用户5268356779035 分钟前
《拒绝当背锅侠!写了个 WebHook 中间件,让局域网硬件在服务挂掉时“喊”出来》
后端
云技纵横1 小时前
线上报 Deadlock,怎么从日志里找出是哪两条 SQL 打架?
后端
卷无止境1 小时前
Python数据进阶专题:用声明式验证让数据管道告别"惊喜"
后端·python·数据分析
glartchen1 小时前
win11下使用 WSL2 部署kali 虚拟机(不踩坑版)
后端
聂二AI落地内参1 小时前
ComfyUI 平台化:能力契约、节点白名单和积分预扣怎么串起来
后端
用户7827110810631 小时前
Spring MVC RESTful 员工管理实战 ——踩坑全记录
后端