Spring MVC框架:第十章:拦截器
拦截器
拦截器最典型的用法是检查用户是否登录,登录后可以执行目标handler方法,未登录则跳转到登录页面。这样的操作要是在每个拦截器内部来写就太麻烦了,统一提取到拦截器中是明智之举。
1.HandlerInterceptor接口
①preHandle()方法
签名:boolean preHandle(HttpServletRequest, HttpServletResponse, Object)
在执行目标handler方法之前执行,如果返回true,则继续执行后续拦截器和目标handler方法;如果返回false则不执行。注意:返回false时最好借助转发或重定向等方式为客户端提供一个响应页面。
②postHandle()方法
签名:void postHandle(HttpServletRequest, HttpServletResponse, Object, ModelAndView) 在执行目标handler方法之后、渲染视图之前执行。
③afterCompletion()方法
在渲染视图之后、返回响应之前执行。
2.HandlerInterceptorAdapter类
实现HandlerInterceptor接口需要把所有抽象方法都实现,而继承HandlerInterceptorAdapter类则可以有选择的重写需要的方法,更加便捷,推荐使用。
3.配置方式
①拦截所有请求
mvc:interceptors
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120360772