1、SpringMVC拦截器
1.1 拦截器(interceptor)的作用
SpringMVC的拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。
拦截器链(Interceptor Chain):连接器按照一定顺序结成一条链。调用时,也按照定义前顺序。
1.2 拦截器和过滤器的区别
1.3 自定义拦截器步骤
(1)创建拦截器类实现HandlerInterceptor接口
public class MyInterceptor implements HandlerInterceptor {
//在目标方法执行之前 执行
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("preHandle......");
return true;//false时,不放行 true时,放行
}
//在目标方法执行之后 视图返回之前执行
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle......");
}
//在流程都执行完毕之后 执行
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
System.out.println(" afterCompletion......");
}
}
(2)配置拦截器
<!--配置权限拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<!--配置指定资源进行放行-->
<mvc:mapping path="/**"/>
<!--配置哪些资源排除拦截操作-->
<mvc:exclude-mapping path="/user/login"/>
<bean class="com.dhh.interceptor.PrivilegeInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
(3)测试拦截器的拦截效果
1.4 拦截器方法说明
总结:坚持很难,放弃容易,再接再厉,一起进步!
|