zoukankan      html  css  js  c++  java
  • 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

        }

    }
  • 相关阅读:
    【转】将项目打成war包并用tomcat部署的方法,步骤及注意点
    JETTY+NGINX
    【转】收集 jetty、tomcat、jboss、weblogic 的比较
    SQL左右连接中的on and和on where的区别
    定义一个servlet用于处理所有外部接口类 架构思路
    spring上下文快速获取方法
    jasper打印实例2 ----通过文件字节流获得PDF格式图片
    Jasper打印示例
    Jasperreport5.6.9-----1
    Linux装B命令
  • 原文地址:https://www.cnblogs.com/jifeng/p/1857424.html
Copyright © 2011-2022 走看看