ssm中的拦截器
我这里使用的时注解的方式来实现的
一、创建类并实现接口
首先在包下面新建一个interceptor包,当然,没有也是可以的,但是如果有的话这样更规范
接再来创建一个类实现HandlerInterceptor
public class LoginInterceptor implements HandlerInterceptor
并且实现该接口的三个方法
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
return HandlerInterceptor.super.preHandle(request, response, handler);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
二、配置配置文件
然后还需要在springmvc.xml
配置文件里配置拦截器。
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/modelapi/**"/>
<bean class="com.financial.interceptor.TokenInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
注意:<mvc:mapping path=“/**”/>这里如果拦截所有资源的话,会把css等静态资源都拦截到,建议只拦截响应的html或者jsp页面。<mvc:exclude-mapping path=“/” />这里是配置不需要拦截的地址。由于我的登录页是根目录,所以根目录不拦截。