Spring-Boot使用嵌入式容器,那怎么配置自定义Filter呢 Listener、Filter和Servlet是Java Web开发过程中常用的三个组件,其中Filter组件的使用频率最高,经常被用来做简单的权限处理、请求头过滤和防止XSS攻击等。如果我们使用的是传统的Spring MVC进行开发,那么只需要在Tomcat的web.xml文件中进行如下配置即可:

 <!-- 配置Listener -->

<listener>     <listener-class>org.springframework.web.util.WebAppRootListener</listener-class> </listener> <listener>     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>   <!--配置Filter,这边配置了一个Filter,但是匹配了多个url-pattern--> <!-- 以url-partern方式配置的filter中,如果有多个与当前请求匹配,则按web.xml中filter-mapping出现的顺序来运行--> <filter>       <filter-name>filter1</filter-name>       <filter-class>com.csx.MyFilter</filter-class>   </filter>   <filter-mapping>     <filter-name>filter1</filter-name>       <url-pattern>/url/a/*</url-pattern>   </filter-mapping>   <filter-mapping>       <filter-name>filter1</filter-name>       <url-pattern>/url/b/*</url-pattern>   </filter-mapping>  <!--配置Servlet--> <servlet>     <servlet-name>springmvc</servlet-name>     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>     <init-param>         <param-name>contextConfigLocation</param-name>         <param-value>classpath:springmvc.spring.xml</param-value>     </init-param>     <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping>     <servlet-name>springmvc</servlet-name>     <!-- 这边不建议写成/* -->     <url-pattern>/</url-pattern> </servlet-mapping>

PS:在容器启动的时候,上面三个组件启动的顺序是Listener --> Filter --> Servlet,这边安利一个记忆的方法:把启动顺序记忆成“理(Listener)发(Filter)师(Servlet)”即可。

在web.xml中配置这三个组件比较简单,但是使用Spring-Boot开发时使用的是嵌入式容器,并没有web.xml文件让我们进行配置。那么在Spring-Boot中到底要怎么配置ListenerFilterServlet等组件呢?

本篇博客以Filter为列,介绍下在Spring-Boot中怎么配置ListenerFilterServlet等组件。

方式一:将Filter声明为bean#

这边我们先来自定义一个Filter,这个Filter的作用是统计一个接口的调用时间。

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信