前言
本文解决以下问题:
- SpringBoot中如何添加一个过滤器?
- 如何在过滤器中使用Bean?
- 如何判断请求的类型?GET还是POST?
- 如何获取请求中的参数?
- 如何重定向?
- 如何针对Ajax请求返回JSON串?
如果你的关注点不在以上问题范围内,请路过。
添加过滤器
使用注解@WebFilter,并把它加到一个实现了Filter接口的类上,如下:
@WebFilter(filterName = "tokenFilter",urlPatterns = {"/*"})
public class TokenFilter implements Filter {
…………
}
可以轻松添加一个过滤器。urlPatterns为要过滤的路径。可以配合@Order注解,指定多个过滤器的执行顺序。
在SpringBoot的启动类上,添加@ServletComponentScan注解,使得过滤器有效。
使用Bean
通过以上方式添加的过滤器,默认是交给Spring管理的。所以,你可以在过滤器中自由的使用@Autowired,@Resource,@Value等注解。
@Resource
private TokenDao tokenDao;
@Value("${test}")
private Boolean te