SpringMVC 拦截器入门 -- 图示
是基于AOP的思想
- 编写自定义拦截器
- springmvx.xml 配置拦截器对象
-
HandlerInterceptor 源码分析: -- 见下面代码注解
-
package com.dhu.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 自定义拦截器 * @author zhou * @create 2020/5/14 */ public class MyInterceptor implements HandlerInterceptor { @Override /** * * 预处理:controller方法执行前 * * return true:放行,执行下一个拦截器,如果没有下一个拦截器,则执行controller中的方法 * * return false:不放行 */ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("preHandle执行了"); //request.getRequestDispatcher("/").forward(request, response); return true; } @Override /** * 后处理 * controller方法执行后,success.jsp执行前 */ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("postHandle执行"); } @Override /** * success.jsp执行后,该方法会执行 */ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("afterCompletion执行"); } }