java web过滤器

 过滤器:是一个服务器端的组件,它可以截取用户端的请求与响应信息,并对这些信息过滤
   过滤器的生命周期:实例化、初始化/过滤、销毁
   init()这是过滤器的初始化方法,Web容器创建过滤器实例后将调用这个方法。这个方法中
   可以读取web.xml文件中过滤器的参数。
   doFilder()这个方法完成实际的过滤操作。这个地方是过滤器的核心方法。当用户请求访问
   与过滤器关联的URL时,Web容器将先调用过滤器的doFilter方法
   FilterChain参数可以调用chain.doFilter方法,将请求传给下一个过滤器(或目标资源),
   或利用转发,重定向将请求转发到其他资源。
   destroy()Web容器在销毁过滤器实例前调用该方法,在这个方法中可以释放过滤器占用的
   资源。
  过滤器的分类
   Servlet2.5 REQUREST 用户直接访问页面时,Web容器将会调用过滤器
   FORWORD  目标资源是通过RequestDispatcher的forward访问时,该过滤器将被调用
   INCLUDE 目标资源是通过RequestDispatcher的include方法调用时,过滤器将被调用
   ERROR 目标资源是通过声明式异常处理机制调用时,过滤器将被调用
   Servlet3.0 ASYNC 支持异步处理
   @WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,
   容器将根据具体的属性配置将相应的类部署为过滤器
   过滤器应用场景
     1 对用户请求进行统一认证
     2 编码转换
     3 对用户发送的数据进行过滤替换
     4 转换图像格式
     5 对响应的内容进行压缩
posted @   wojiaohuangyu  阅读(3)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示