SpringMVC拦截器与异常处理(六)

点击查看上一章

在我们SpringMVC中也可以使用拦截器对用户的请求进行拦截,用户可以自定义拦截器来实现特定的功能。自定义拦截器必须要实现HandlerInterceptor接口

package com.spring.mvc.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; /** * @author:SimpleWu * @to:拦截器执行流程:preHandle - 目标方法 - postHandle -渲染视图 - afterCompletion */ public class MyInterceptor implements HandlerInterceptor{ /** * 渲染视图之后被调用 * 释放资源 */ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("[MyInterceptor] afterCompletion"); } /** * 该方法是在目标方法之后,渲染视图之前被调用 * 可以对请求域中的参数或视图做出修改 */ @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("[MyInterceptor] postHandle"); } /** * 该方法在目标方法前调用 * 1)如果返回值为true则继续调用后续的拦截器和目标方法 * 2)如果返回值为false则不会调用后续的拦截器和目标方法 * 可以考虑做权限,日志。 */ @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("[MyInterceptor] preHandle : 目标方法之前被调用。"); return true; } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdwpj.html