zoukankan      html  css  js  c++  java
  • session失效后跳转到登陆页面

    一、编写Filter拦截器类 

     1 package com.pv.utils;
     2 
     3 import java.io.IOException;
     4 import java.io.PrintWriter;
     5 
     6 import javax.servlet.*;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 import javax.servlet.http.HttpSession;
    10 
    11 public class RequestFilter implements Filter  {
    12     private FilterConfig config;
    13     //实现初始化方法
    14     public void init(FilterConfig config){
    15         this.config = config;
    16     }
    17     public void destroy(){
    18         this.config = null;
    19     }
    20     
    21     @Override
    22     public void doFilter(ServletRequest req, ServletResponse res,
    23             FilterChain chain) throws IOException, ServletException {
    24         // TODO Auto-generated method stub
    25         req.setCharacterEncoding("utf-8");        
    26         HttpServletRequest request  = (HttpServletRequest) req;        
    27         HttpServletResponse response  = (HttpServletResponse) res;
    28         HttpSession session = request.getSession();
    29         //获取客户请求的页面
    30         String url = request.getServletPath();
    31         System.out.println("wangming"+url);
    32         if((!request.getServletPath().equals("/login.jsp"))
    33             &&(!request.getServletPath().equals("/solar.jsp"))
    34             &&(!request.getServletPath().equals("/index.jsp"))){
    35             System.out.println(request.getServletPath());  
    36             if(session.getAttribute("username")==null){
    37                 session.invalidate();  
    38                 response.setContentType("text/html;charset=gb2312");  
    39                 PrintWriter out = response.getWriter();  
    40                 out.println("<script language='javascript' type='text/javascript'>");  
    41                 out.println("alert('由于你长时间没有操作,导致Session失效!请你重新登录!');top.location.href='" + request.getContextPath() + "/solar.jsp'");  
    42                 out.println("</script>");  
    43             }else{
    44                 chain.doFilter(request , response );
    45             }
    46         }else{
    47             chain.doFilter(request , response );
    48         }        
    49     }    
    50 }

    二、在web.xml中配置拦截器  

     1 <session-config>
     2      <session-timeout>1</session-timeout>
     3 </session-config>
     4 
     5 <filter>
     6     <filter-name>RequestFilter</filter-name>
     7     <filter-class>com.pv.utils.RequestFilter</filter-class>
     8 </filter>
     9 <filter-mapping>
    10     <filter-name>RequestFilter</filter-name>
    11     <url-pattern>*.jsp</url-pattern>
    12 </filter-mapping>
  • 相关阅读:
    一次router拦截器的应用
    node中的koa2
    node中从express到koa再到koa2的发展历程
    node中的crypto内置模块
    node中的http内置模块
    node中的stream(流)内置模块
    node中fs内置模块
    node 中的global对象和process对象
    CSS命名规范
    作品展示
  • 原文地址:https://www.cnblogs.com/wmcoder/p/5688964.html
Copyright © 2011-2022 走看看