Filter过滤器和Listener监听器详解
发布时间 - 2026-01-11 00:42:44 点击率:次Filter过滤器和Listener监听器详解

Filter过滤器
Filter的简介
对资源的访问进行过滤,相当于小区的保安,进去要检查,出去还要检查。
Filter的使用
编写一个类,继承并实现javax.servlet.Filter。
package com.jyh.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class FilterDemo1 implements Filter {
private FilterConfig filterConfig;
public FilterDemo1(){
System.out.println("实例化了");
}
//初始化
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//通过这个获取过滤器在web.xml里面的配置信息
this.filterConfig = filterConfig;
System.out.println("过滤器初始化了");
}
//执行
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
//获取在web.xml中本过滤器配置的名为encoding的参数
String encoding = filterConfig.getInitParameter("encoding");
if(encoding == null){
encoding = "UTF-8";
}
//设置编码格式
req.setCharacterEncoding(encoding);
res.setContentType("text/html;charset=" + encoding);
System.out.println("过滤前");
//放行
chain.doFilter(req, res);
System.out.println("过滤后");
}
//销毁
@Override
public void destroy() {
System.out.println("过滤器销毁了");
}
}
在web.xml中配置Filter
<filter>
<filter-name>FilterDemo1</filter-name>
<filter-class>com.jyh.filter.FilterDemo1</filter-class>
<!-- 配置参数 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FilterDemo1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过滤器是用来对访问进去过滤的,所以需要在请求前做什么和请求之后做什么都可以用过滤器来做,例如编码的设置,自动登录等。串联过滤器什么的听着就知道是什么情况了。
Listener监听器
编写一个类继承实现以下监听器接口。
监听ServletContext、HttpSession、ServletRequest对象的创建和销毁的监听器
ServletContextListener: HttpSessionListener: SerlvetRequestListener:
监听ServletContext、HttpSession、ServletRequest属性(attributes)变化的监听器
ServletContextAttributeListener HttpSessionAttributeListener SerlvetRequestAttributeListener
1.感知型监听器:不需要注册。
HttpSessionBindingListener:实现该接口的类的实例,能够感知自己何时被放到了HttpSession域范围中,和何时从HttpSession域范围中删除。
HttpSessionActivationListener:实现该接口的类的实例,能够感知自己何时随着HttpSession钝化和激活。
在web.xml配置一下
<listener> <!-- 指向自己缩写的监听器类 --> <listener-class>com.jyh.listener.MyContextListener</listener-class> </listener>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Filter过滤器和Listener监听器
# java
# Filter
# 过滤器与Listener监视器详解
# Java servlet、filter、listener、interceptor之间的区别和联系
# 做什么
# 不需要
# 可以用
# 希望能
# 来做
# 谢谢大家
# 自动登录
# 就知道
# 是用来
# public
# private
# implements
# ServletException
# FilterConfig
# ServletResponse
# ServletRequest
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
简历没回改:利用AI润色让你的文字更专业
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
jquery插件bootstrapValidator表单验证详解
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel Fortify是什么,和Jetstream有什么关系
nginx修改上传文件大小限制的方法
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
如何在香港免费服务器上快速搭建网站?
Android GridView 滑动条设置一直显示状态(推荐)
使用Dockerfile构建java web环境
详解Oracle修改字段类型方法总结
免费网站制作appp,免费制作app哪个平台好?
简单实现Android文件上传
如何在IIS中新建站点并配置端口与IP地址?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
千库网官网入口推荐 千库网设计创意平台入口
Laravel如何实现文件上传和存储?(本地与S3配置)
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何打造高效商业网站?建站目的决定转化率
如何构建满足综合性能需求的优质建站方案?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
历史网站制作软件,华为如何找回被删除的网站?
JS中对数组元素进行增删改移的方法总结
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Laravel安装步骤详细教程_Laravel环境搭建指南
网站制作壁纸教程视频,电脑壁纸网站?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何获取上海专业网站定制建站电话?
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
如何在云指建站中生成FTP站点?
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
创业网站制作流程,创业网站可靠吗?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
上一篇:《千本笔记》更换画笔颜色方法
上一篇:《千本笔记》更换画笔颜色方法

