Spring boot Servlet Web 应用常用的过滤器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andy_zhang2007/article/details/85554030

本文对基于Springboot Web应用常用的Filter做了一个总结。

具体使用的 Spring boot版本为 2.1.1,Servlet容器缺省为Tomcat 9.0.13嵌入式版本,Spring Web 5.1.3

缺省优先级 名称 简介
最高优先级 characterEncodingFilter org.sf.boot.web.servlet.filter.OrderedCharacterEncodingFilter 根据配置参数决定请求/响应是否要使用指定的字符集
-10000 hiddenHttpMethodFilter org.sf.boot.web.servlet.filter.OrderedHiddenHttpMethodFilter POST表单中隐藏参数_method的值设置为请求的HTTP method
-9900 formContentFilter org.sf.boot.web.servlet.filter.OrderedFormContentFilter 获取表单参数将其作为Servlet请求参数
-105 requestContextFilter org.sf.boot.web.servlet.filter.OrderedRequestContextFilter 将请求对象和请求的locale绑定到当前请求处理线程
-100 springSecurityFilterChain org.sf.boot.web.servlet.DelegatingFilterProxyRegistrationBean$1 Spring Security安全过滤器链的代理,也被封装为一个Filter
过滤器链最后一个 Tomcat WebSocket (JSR356) Filter org.apache.tomcat.websocket.server.WsFilter Tomcat Servlet容器针对Web Socket处理的过滤器,仅在使用Tomcat Servlet容器时才被使用
该过滤器其实由Tomcat提供,而不是由Spring提供
  1. 上表中 sfspringframework的缩写。
  2. 上表中Spring提供的过滤器都带有优先级属性,并且在添加到ServletContext时,会先增加优先级高的过滤器。而Tomcat自己提供的Web Socket处理过滤器是在这些过滤器添加之后最后添加的。
  3. 请求处理时先添加的过滤器先被应用。

猜你喜欢

转载自blog.csdn.net/andy_zhang2007/article/details/85554030