项目结构

1.创建 Filter 对象
- package com.it.web;
-
- import javax.servlet.*;
- import java.io.IOException;
- //自定义过滤器
- public class MyFilter implements Filter {
- @Override
- public void doFilter(ServletRequest servletRequest,
- ServletResponse servletResponse,
- FilterChain filterChain) throws IOException, ServletException {
-
- System.out.println("执行了MyFilter,doFilter");
- filterChain.doFilter(servletRequest,servletResponse);
-
- }
- }
2.注册 Filter
- package com.it.config;
-
- import com.it.web.MyFilter;
- import org.springframework.boot.web.servlet.FilterRegistrationBean;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
- @Configuration
- public class WebApplicationConfig {
-
- @Bean
- public FilterRegistrationBean filterRegistrationBean(){
- FilterRegistrationBean bean = new FilterRegistrationBean();
- bean.setFilter(new MyFilter());
- bean.addUrlPatterns("/user/*");
- return bean;
- }
-
- }
3.创建 Controller
- package com.it.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
-
- @Controller
- public class CustomerFilterController {
-
- @RequestMapping("/user/account")
- @ResponseBody
- public String userAccount(){
- return "user/account";
- }
-
-
- @RequestMapping("/query")
- @ResponseBody
- public String queryAccount(){
- return "/query";
- }
-
- }
4.启动应用, 在浏览器访问 user/account, /query 查看浏览器运行结果
访问/user/account的地址,可以正常访问,查看控制台,已经正常的进行了输出这句话,说明过滤器发挥了作用,过滤成功了。

清空控制台访问/query地址,控制台没有输出,说明该地址没有进行过滤,不在过滤器的地址范围内。

