当前位置:   article > 正文

Session超时跳转到指定页面(filter实现)解决了图片被过滤问题_session超时filter

session超时filter
  1. package com.myplan.checkloginfilter;
  2. import javax.servlet.*;
  3. import javax.servlet.http.HttpServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import javax.servlet.http.HttpSession;
  7. import java.io.IOException;
  8. import java.io.PrintWriter;
  9. /**
  10. * 用于检测用户是否登陆的过滤器,如果未登录或超时,则重定向到指的登录页面<p>
  11. */
  12. public class CheckLoginFilter extends HttpServlet implements Filter {
  13. public void doFilter(ServletRequest request, ServletResponse response,
  14. FilterChain filterChain) {
  15. try {
  16. HttpServletRequest hsr = (HttpServletRequest) request;
  17. HttpSession session = hsr.getSession();
  18. if (hsr.getRequestURI().startsWith(
  19. hsr.getContextPath() + "/login.jsp")
  20. || hsr.getRequestURI().startsWith(
  21. hsr.getContextPath() + "/login.do")
  22. || hsr.getRequestURI().equals(hsr.getContextPath() + "/")
  23. ) {
  24. // 请求登陆页面,所以放过
  25. System.out.println("放过login");
  26. filterChain.doFilter(request, response);
  27. } else {
  28. if (session.getAttribute("employeeEmail") != null) {
  29. //这里session存在,那么则登陆,放过session
  30. // 已登录,放过请求
  31. System.out.println("test filter chain");
  32. filterChain.doFilter(request, response);
  33. } else {
  34. //session超期后,自然session就是空了,那么则跳转到指定的页面就可以了
  35. // 未登录,跳转到登录页
  36. PrintWriter out = response.getWriter();
  37. out.print("<script>window.top.location.href='http://blog.163.com/girl_lihuiyue@126/blog/"
  38. + hsr.getContextPath() + "';</script>");
  39. }
  40. }
  41. } catch (ServletException sx) {
  42. } catch (IOException iox) {
  43. }
  44. }
  45. public void destroy() {
  46. }
  47. public void init(FilterConfig filterConfig) throws ServletException {
  48. }
  49. }
使用filter导致跳转到登陆页面的图片不显示。添加红色字体部分,跳过图片的过滤。

web.xml相应的配置

  1. <filter>
  2. <filter-name>CheckLoginFilter</filter-name>
  3. <filter-class>com.myplan.checkloginfilter.CheckLoginFilter</filter-class>
  4. </filter>
  5. <filter-mapping>
  6. <filter-name>CheckLoginFilter</filter-name>
  7. <url-pattern>*.jsp</url-pattern>
  8. </filter-mapping>
  9. <span style="color:#FF0000;">如果使用session的话,配置
  10. <session-config>
  11. <!-- 以分钟为单位 -->
  12. <session-timeout>30</session-timeout>
  13. </session-config></span>


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码领袖开发者/article/detail/61373
推荐阅读
相关标签
  

闽ICP备14008679号