码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期

时间:2017-10-25 00:46:47      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:操作   except   ssi   writer   执行   getattr   utf-8   接口   tps   

SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期

一、拦截器配置

<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**"/>
        <mvc:exclude-mapping path="/user/login"/>    <!-- 不拦截登录请求 -->
        <mvc:exclude-mapping path="/user/logout"/>    <!-- 不拦截注销请求 -->
        <mvc:exclude-mapping path="*.jsp"/>
        <mvc:exclude-mapping path="*.html"/>
        <mvc:exclude-mapping path="*.js"/>
        <mvc:exclude-mapping path="*.css"/>
        <bean class="org.huaxin.interceptor.AccessInterceptor"></bean>
    </mvc:interceptor>
</mvc:interceptors>

二、拦截器编码

public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
            Object obj) throws Exception {
        System.out.println("[AccessInterceptor]:preHandle执行");
        HttpSession session = request.getSession();
        ServletContext application = session.getServletContext();
        if(application.getAttribute(session.getId()) == null){    //未登录
            PrintWriter out = response.getWriter();
            StringBuffer sb = new StringBuffer("<script type=\"text/javascript\" charset=\"UTF-8\">");
            sb.append("alert(\"你的账号被挤掉,或者没有登录,或者页面已经过期,请重新登录\")");
            sb.append("window.location.href=‘/user/logout‘;");
            sb.append("</script>");
            out.print(sb.toString());
            out.close();
            return false;
        }else{    //已经登录
            return true;
        }
    }

三、总结

1.注意这里使用的拦截器是HandlerInterceptor,你的拦截器需要实现这个接口

2.在你的登录handler里面,要将session保存到application中,方便根据sessionId来判断是否存在session

3.sb.append("window.location.href=‘/user/logout‘;");   这行代码是说,执行注销操作,在你的/user/logout   这个handler里面得把页面解析到登录页,方便重新登录

SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期

标签:操作   except   ssi   writer   执行   getattr   utf-8   接口   tps   

原文地址:http://www.cnblogs.com/javafucker/p/7726265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!