Spring Boot使用拦截器Interceptor
过滤器Filter属于Servlet范畴的API
拦截器Interceptor属于spring范畴
拦截器的功能
HandlerInterceptor 的功能跟过滤器类似,但是提供更精细的的控制能力:在request被响应之前、request被响应之后、视图渲染之前以及request全部结束之后。我们不能通过拦截器修改request内容,但是可以通过抛出异常(或者返回false)来暂停request的执行。
实现自定义拦截器的方法
1、创建我们自己的拦截器类并实现 HandlerInterceptor 接口。
2、创建一个Java类继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法。
3、实例化我们自定义的拦截器,然后将对像手动添加到拦截器链中(在addInterceptors方法中添加)。
创建拦截器实现HandlerInterceptor接口
public class MyInterceptorFirst implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o)
throws Exception {
//当执行的语句抛出异常时,这个请求将被拦截也就是没有执行
String requestString = httpServletRequest.getParameter("name");
System.out.println(