news 2026/8/14 5:29:08

Filter过滤器、Listener监听器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Filter过滤器、Listener监听器

目录

  • 一、Filter接口
  • 二、监听器(触发器)

一、Filter接口


Filter用于在Servlet执行前后添加过滤规则,在服务器启动的时候会实例化Filter对象,需要实现Filter接口的三个方法:

  • init():在Filter对象实例化后调用。
  • doFilter():过滤规则,过滤器指定路径下的servlet执行前先执行doFilter()
  • destroy():在Filter对象被释放/销毁之前调用。
/* /crud/a精确匹配 * /*匹配所有路径 * *a后缀匹配 */@WebFilter("/*")//匹配所有servlet,所有servlet执行前后都要走这个过滤器,Filter类名字典序小的先执行publicclassFilter1implementsFilter{@Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletException{}@OverridepublicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsIOException,ServletException{...// serlvet执行前的过滤规则chain.doFilter(request,response);// 执行下一个过滤器,如果下一个不是过滤器,则执行目标servlet...// serlvet执行后向客户端发送响应前的过滤规则}@Overridepublicvoiddestroy(){}}

二、监听器(触发器)

监听器用于监听一些事件,当事件发生时会调用监听器中的方法。监听器有如下类:

  • ServletContextListenerServletContext对象创建销毁时分别执行类中两个方法。
  • ServletContextAttributeListener:向应用域存、删、取数据时调用分别执行类中的三个方法。
  • ServletRequestListenerServletRequest对象创建销毁时分别执行类中两个方法。
  • ServletRequestAttributeListener:向请求域存、删、取数据时调用分别执行类中的三个方法。
  • HttpSessionListenerSession对象创建销毁时分别执行类中两个方法。
  • HttpSessionAttributeListener:向会话域存、删、取数据时调用分别执行类中的三个方法
  • HttpSessionIdListener:Session的id发生改变的时候,监听器中的唯一一个方法就会被调用。
  • HttpSessionBindingListener:该监听器不需要使用@WebListener进行标注。如果User类实现了该监听器,那么User对象在被放入session的时候触发bind事件,User对象从session中删除的时候,触发unbind事件。
publicclassMyListenerimplementsServletContextListener{@OverridepublicvoidcontextInitialized(ServletContextEventsce){ServletContextListener.super.contextInitialized(sce);}@OverridepublicvoidcontextDestroyed(ServletContextEventsce){ServletContextListener.super.contextDestroyed(sce);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 5:29:06

hudi系列-文件压缩(compaction)

1. 简介 压缩(compaction)仅作用于MergeOnRead类型表,MOR表每次增量提交(deltacommit)都会生成若干个日志文件(行存储的avro文件),为了避免读放大以及减少文件数量,需要配置合适的压缩策略将增量的log file合并到base file(parquet)中。 1.1 环境 flink 1.13.6 hu…

作者头像 李华
网站建设 2026/8/14 5:25:06

ssh客户端

ssh客户端ssh客户端简介ssh客户端~/.ssh目录及相关权限生成ssh密钥对公钥和私钥的权限authorized_keys(授权文件)known_hosts(指纹记录核对文件)ssh配置文件(~/.ssh/config)ssh客户机配置示例ssh客户端主配置文件/etc/ssh/ssh.conf(默认ssh配置文件):服务端/etc/ssh…

作者头像 李华
网站建设 2026/8/14 5:23:53

解决OpenCore与Windows双系统启动冲突:从原理到实战

1. 项目概述:一次典型的双系统启动冲突排查昨晚,我经历了一场持续五个多小时的“拉锯战”。事情的起因很简单:我想在一台已经安装了Windows 10的台式机上,配置OpenCore(OC)引导来启动另一个系统。本以为是个…

作者头像 李华
网站建设 2026/8/14 5:23:42

白嫖大模型

我在用 MiMo 开放平台,体验小米顶尖模型 MiMo V2.5 等。通过我的邀请码注册:双方各得 10 API 体验金 首单 9 折。邀请码:3F236D。注册:https://platform.xiaomimimo.com?ref3F236D(注册后自动填入 体验金 40 天有效…

作者头像 李华
网站建设 2026/8/14 5:22:24

C语言隐式函数声明警告:从C99标准到现代编译实践

1. 报错现象与核心问题剖析如果你在编译C语言项目时,看到控制台蹦出这么一行字:implicit declaration of function ‘xxx’ is invalid in C99 [-Wimplicit-function-declaration],别慌,这几乎是每个C程序员成长路上的“必修课”。…

作者头像 李华