1.创建一个过滤器类MyFilter
该类重写了Filter的doFilter方法
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("已经进入过滤器");
filterChain.doFilter(servletRequest,servletResponse);
}
}
2. 创建过滤器配置类FilterConfig
该配置会过滤掉/user/*下的所有路径
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration //定义此类为配置类
public class FilterConfig {
@Bean
public FilterRegistrationBean filterRegistrationBean(){
//注册过滤器
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new MyFilter());
//添加过滤路径
filterRegistrationBean.addUrlPatterns("/user/*");
return filterRegistrationBean;
}
}
3. 创建UserController来测试过滤器
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class UserController {
@RequestMapping("/user/detail")
@ResponseBody
public String userDetail(){
return "/user/detail";
}
@RequestMapping("/center")
@ResponseBody
public String center(){
return "center";
}
}