Session超时跳转到指定页面(filter实现)解决了图片被过滤问题
2014-06-29 23:04
726 查看
package com.myplan.checkloginfilter; import javax.servlet.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; /** * 用于检测用户是否登陆的过滤器,如果未登录或超时,则重定向到指的登录页面<p> */ public class CheckLoginFilter extends HttpServlet implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) { try { HttpServletRequest hsr = (HttpServletRequest) request; HttpSession session = hsr.getSession(); if (hsr.getRequestURI().startsWith( hsr.getContextPath() + "/login.jsp") || hsr.getRequestURI().startsWith( hsr.getContextPath() + "/login.do") || hsr.getRequestURI().equals(hsr.getContextPath() + "/") ) { // 请求登陆页面,所以放过 System.out.println("放过login"); filterChain.doFilter(request, response); } else { if (session.getAttribute("employeeEmail") != null) { //这里session存在,那么则登陆,放过session // 已登录,放过请求 System.out.println("test filter chain"); filterChain.doFilter(request, response); } else { //session超期后,自然session就是空了,那么则跳转到指定的页面就可以了 // 未登录,跳转到登录页 PrintWriter out = response.getWriter(); out.print("<script>window.top.location.href='http://blog.163.com/girl_lihuiyue@126/blog/" + hsr.getContextPath() + "';</script>"); } } } catch (ServletException sx) { } catch (IOException iox) { } } public void destroy() { } public void init(FilterConfig filterConfig) throws ServletException { } }使用filter导致跳转到登陆页面的图片不显示。添加红色字体部分,跳过图片的过滤。
web.xml相应的配置
<filter> <filter-name>CheckLoginFilter</filter-name> <filter-class>com.myplan.checkloginfilter.CheckLoginFilter</filter-class> </filter> <filter-mapping> <filter-name>CheckLoginFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <span style="color:#FF0000;">如果使用session的话,配置 <session-config> <!-- 以分钟为单位 --> <session-timeout>30</session-timeout> </session-config></span>
相关文章推荐
- iframe 框架中main 页面设置session ,超时只有main页跳转到指定页面的解决
- iframe 框架中main 页面设置session ,超时只有main页跳转到指定页面的解决
- 利用AFNetworking 的AFHTTPSessionManager代码实现代理的方式访问任意指定IP地址,解决域名DNS上的问题
- 解决easyui在session过期后iframe跳转到登录页面的问题
- JAVA和MySQL实现分页和页面跳转指定当前显示页数的问题
- 重写 ajax 实现 session 超时跳转到登录页面实例代码
- mvc ajax访问后台时session过期无法跳转到Login页面问题解决
- iframe中session超时,跳转打开窗口还是嵌入在iframe中问题解决
- 解决AJAX应用,会话超时(Session Timeout)的问题,粗略方法(不考虑使用Filter的前提下)
- 实现session超时后自动跳转到登陆页面(前台JS,JAVA,判断是否Ajax请求)
- Android自定义控件:imageview重写onMeasure方法实现图片按指定比例显示,拉伸永不变形,解决屏幕适配问题
- 解决SSH项目中Action跳转之后,页面样式、图片丢失的问题
- 重写ajax实现session超时跳转到登陆页面
- 37-002-1 通过spring的OpenSessionInViewFilter解决jsp页面懒加载显示的问题
- mvc ajax访问后台时session过期无法跳转到Login页面问题解决
- aspx在页面跳转(Response.Redirect)时丢失session问题及解决办法
- struts2拦截器实现session超时返回登录页面(iframe下跳转到其父页面)
- java实现验证码生成,解决在页面验证时候session获得的总是前一次值的问题
- 解决session过期超时跳转到登陆页面并跳出iframe框架