1. 创建类实现HandlerInterceptor接口,重写需要的方法。
- preHandle方法是controller方法执行前拦截的方法
- 可以使用request或者response跳转到指定的页面
- return true放行,执行下一个拦截器,如果没有拦截器,执行controller中的方法。
- return false不放行,不会执行controller中的方法。
- postHandle是controller方法执行后执行的方法,在页面(jsp)视图执行前。
- 可以使用request或者response跳转到指定的页面
- 如果指定了跳转的页面,那么controller方法跳转的页面将不会显示。
- postHandle方法是在页面(jsp)执行后执行
- request或者response不能再跳转页面了
package cn.test.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 自定义拦截器
*/
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle start...");
return true;
}
}
2. 配置拦截器类(springmvc.xml)
<!--配置拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<!--拦截-->
<mvc:mapping path="/*"/>
<!-- <mvc:exclude-mapping path=""/> 不拦截-->
<bean class="cn.test.interceptor.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
3. 配置多个拦截器
1. 定义新类
2. 配置新的拦截器
网友评论