拦截器

配置在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中配置下就可以了,

posted @ 2018-07-09 19:13  阴翳公子  阅读(157)  评论(0编辑  收藏  举报