在ssm项目基础上添加拦截器
TimeInterceptor.java
package cn.xxs.interceptor;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class TimeInterceptor implements HandlerInterceptor{
private long time1 = 0;
private long time2 = 0;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("执行方法之前执行");
System.out.println(new Date().getTime());
time1 = new Date().getTime();
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("方法执行完,返回之前执行的");
System.out.println(new Date().getTime());
time2 = new Date().getTime();
System.out.println(time2-time1+"毫秒");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("最后执行的");
}
}
LoginInterceptor.java
当进入json数据处理时拦截,让其跳到userInfo路径下
package cn.xxs.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class LoginInterceptor extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("000");
String uri = request.getRequestURI();
System.out.println(uri);
if("/ssm_select/user/userJson".equals(uri)) {
response.sendRedirect("/ssm_select/user/userInfo");
return false;
}else {
System.out.println("你可以访问");
}
return true;
}
}
在webmvc-config.xml下配置两个拦截器:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="cn.xxs.interceptor.TimeInterceptor"></bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="cn.xxs.interceptor.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
拦截器起作用时控制台打印