拦截器定义
拦截器可以对请求或响应进行过滤,设置规则将某些请求进行处理
比如身份验证,对用户的请求,验证其是否已经登录,如果没有则客户端重定向到登录页面
定义一个拦截器,需要继承拦截器接口
public interface HandlerInterceptor {
/**
处理器调用之间执行,可以进行编码,安全控制以及权限校验等操作
*/
default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
return true;
}
/**
业务处理器返回true后,生成视图之前执行,这样有机会对ModelAndView进行修改
*/
default void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable ModelAndView modelAndView) throws Exception {
}
/**
在上面两个方法都执行成功后调用,主要用于清理资源,返回处理
*/
default void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable Exception ex) throws Exception {
}
}
package hrs;
import hrs.entity.User;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax