配置在spring.xml中
<!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**/"/> <mvc:exclude-mapping path="/login/*"/> <bean class="com.xms.interceptor.LoginInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>
class里的路径为自定义的拦截器类
我自己的类如下
public class LoginInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { User user=(User)request.getSession().getAttribute("user"); if(user==null){ response.sendRedirect(request.getContextPath()+"/login/toLogin.do"); return false; } return true; } }
自定义拦截器,实现HandlerInterceptor接口,需要实现定义的全部抽象方法,preHandle(),postHandle(),afterCompletion()
如果只需要某一个方法,可以继承HandlerInterceptorAdapter类,重写某一个方法即可
我这边就是继承HandlerInterceptorAdapter类,拦截除了登录的所有操作,
只需要在后台创建一个拦截器的类,并在spring.xml中配置下就可以了,