闫平平
写代码也要酷酷的!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

过滤器(Filter)

servlet中的过滤器Filter实现了javax.servlet.Filter接口的服务器端程序。

主要用途:设置字符集、控制权限、控制转向、做一下业务逻辑判断等。

工作原理:web.xml文件配置拦截客户端请求,它会帮你拦截请求,此时你就可以对请求或响应统一设置编码,简化操作;同时可进行逻辑判断,如用户是否已经登陆,有没有访问权限等,它是随你的web应用启动而启动,只初始化一次,就可拦截,只有当你web应用停止或重新部署的时候才销毁

Filter的用处:

  • 在request到达servlet之前,拦截客户的请求(HttpServletRequest)
  • 根据需要检查request,也可修改request的头和数据
  • 在response到达客户端之前,拦截response
  • 根据需要检查response,也可修改response的头和数据

FIlter的种类:

用户授权的Filter:Filter负责检查用户请求,根据请求过滤用户非法请求

日志FIlter:详细记录某些特殊的用户请求

负责解码的Filter:包括对非标准编码的请求解码

能改变XML内容的XSLT Filter等。

Filter可以负责拦截多个请求或响应;一个请求或响应也可以被多个Filter拦截

 

创建步骤:

1、创建Filter处理类

2、web.xml文件中配置Filter

 

创建Filter必须实现javax.servlet.Filter接口,并实现其方法

void init(FilterConfig  cofig):用于完成Filter的初始化

void destory():用于销毁Filter前,回收某些资源

void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain):实现过滤功能
posted on   写代码也要酷酷的  阅读(323)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
 
点击右上角即可分享
微信分享提示