流程
执行顺序如下面序号1->2【1】->3->2【2】->4->2【3】。
1.前台传来请求
<a href="user/testInterceptor">拦截器</a>
2.拦截请求
【1】preHandle:预处理。客户端发送请求时执行,返回ture表示方行。
【2】postHandle:后处理。服务器响应到客户端时执行。
【3】afterCompletion:最后处理。服务器响应到客户端时完毕执行。
public class Myinterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
System.out.println("执行了myinterceptor.........");
return true;
}
}
2.1注册拦截器
拦截器的先后顺序看注册的先后顺序。
<mvc:interceptors>
<mvc:interceptor>
//表示拦截的方法
<mvc:mapping path="/user/*"/>
//注册的拦截器
<bean class="com.springmvc.interceptor.Myinterceptor"></bean>
</mvc:interceptor>
<mvc:interceptor>
//拦截方法testPdd
<mvc:mapping path="/user/testPdd"/>
//注册的拦截器
<bean class="com.springmvc.interceptor.Myinterceptor2"></bean>
</mvc:interceptor>
</mvc:interceptors>
3.控制器
@RequestMapping(path = "/testInterceptor")
public String testInterceptor(){
return "success";
}
4.客户端响应
success!