• filter实现登陆拦截


    代码
    package com.ucit.filter;

    import java.io.IOException;
    import java.util.ArrayList;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;

    import com.ucit.struts.action.LoginAction;

    public class TuserCheckFilter implements Filter {

        
    public void destroy() {
            
    // TODO Auto-generated method stub

        }

        
    static ArrayList<HttpSession> tusers = LoginAction.tusers;

        
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
                FilterChain arg2) 
    throws IOException, ServletException {
            
    // 当前SESSION不在Tusers里的时候,就让他跳到登陆页面

            HttpSession nowSession 
    = ((HttpServletRequest) arg0).getSession();

            
    boolean in = false;
            
    for (int i = 0; i < tusers.size(); i++) {
                
    if (nowSession == tusers.get(i)) {
                    in 
    = true;
                    
    break;
                }
            }

            
    if (!in) {
                
    if (!((HttpServletRequest) arg0).getServletPath().equals(
                        
    "/login.jsp"))

                {
                    ((HttpServletResponse) arg1)
                            .sendRedirect(
    "/oracleManagement/login.jsp");
                } 
    else {
                    arg2.doFilter(arg0, arg1);
                }
                ;

            } 
    else {

                arg2.doFilter(arg0, arg1);
            }

        }

        
    public void init(FilterConfig arg0) throws ServletException {
            
    // TODO Auto-generated method stub

        }

    }
  • 相关阅读:
    树与树的表示
    队列的顺序/链式存储实现
    堆栈的链式存储实现
    堆栈的顺序存储实现
    线性表的链式存储求表长,查找,插入,删除
    C语言博客作业--函数
    C语言博客作业--嵌套循环
    C语言第三次博客作业---单层循环结构
    C语言第二次博客作业---分支结构
    C语言第一次博客作业——输入输出格式
  • 原文地址:https://www.cnblogs.com/jifeng/p/1857424.html
Copyright © 2020-2023  润新知