在spring xml文件中拦截器的配置
<!-- 配置拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<!-- 要拦截的方法-->
<mvc:mapping path="/user/*"/>
<!-- 配置拦截器对象-->
<bean id="myInterceptor" class="com.pt.interceptor.MyInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
<!-- 开启springmvc框架注解支持-->
<mvc:annotation-driven />
HandlerInterceptor接口中有三个方法:
- preHandle:预处理方法
return true:放行,执行下一个拦截器,如果没有,执行controller中的方法
return false:不放行
当不放行的时候,也可以跳转到其他页面,代码如下
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("MyInterceptor 执行了");
request.getRequestDispatcher("/WEB-INF/pages/error.jsp").forward(request,response);
return false;
}
- postHandle:后处理方法,controller方法执行之后,success.jsp执行之前
- afterCompletion:success.jsp页面执行之后