zoukankan      html  css  js  c++  java
  • 添加filter过滤器 (静态资源放行)

    里面加了没有登录的时候,操作时就需要登录

    package com.quicksure.mobile.filter;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.RequestDispatcher;
    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.quicksure.mobile.entity.Userinfor;
    
    public class LudiMobileFilter implements Filter {
        public void destroy() {
            // TODO Auto-generated method stub
        }
    
        public void doFilter(ServletRequest request, ServletResponse response,
                FilterChain chain) throws IOException, ServletException {         
            HttpServletRequest req = (HttpServletRequest) request; 
            HttpServletResponse resp = (HttpServletResponse) response; 
            HttpSession session = req.getSession();
            String path = req.getContextPath();
            String url = req.getRequestURI();
            Userinfor user = (Userinfor) session.getAttribute("loginUser");
            String conString = req.getHeader("REFERER"); //获取父url,这里当浏览器url选中,敲enter键时,conString就会为空了
            
            if("".equals(conString) || null==conString){                     
                String servletPath = req.getServletPath();
                if (servletPath.indexOf("index") > 0 || servletPath.indexOf("LoginUser") > 0||servletPath.indexOf("MP_verify_PPlSQIplLY8fbefx.txt")>0) {
                    chain.doFilter(request, response);
                } else { // 当前请求url
                    resp.sendRedirect(path + "/views/quicksure/jsp/index.jsp");
                    session.removeAttribute("loginUser");
                } 
            }else{
                if(url.endsWith(".css")||url.endsWith(".js")||url.endsWith(".jpg")
                    ||url.endsWith(".gif")||url.endsWith(".png")||url.endsWith("/index.jsp")
                    ||url.endsWith("/LoginUser.jsp")||url.endsWith("getDptCode.do")
                    ||url.endsWith("checkPhoneCode.do")||url.endsWith("userLogin.do")
                    ||url.endsWith("phoneCheck.do")||url.endsWith("/registUser.jsp")||url.endsWith("registUser.do")
                    ||url.endsWith("resetPassword.do")||url.endsWith("/resetPassword.jsp")||url.endsWith("goPaymentSucessPage.do")){
                    chain.doFilter(request, response);
                }else{
                    if (user == null ) {
                        // 跳转到登陆页面
                        req.getRequestDispatcher("/views/quicksure/jsp/LoginUser.jsp").forward(request, response);
                        //request.getRequestDispatcher().forward(request, response);
                        //resp.sendRedirect(path+"/views/quicksure/jsp/LoginUser.jsp");
                    } else {
                        // 已经登陆,继续此次请求
                        chain.doFilter(request, response);
                    }
                }
            }         
        }
    
        public void init(FilterConfig arg0) throws ServletException {
            // TODO Auto-generated method stub 
        }
    
    }
  • 相关阅读:
    二分法
    The Distinguish of the share or static lib in MFC
    内部或外部命令
    The Memory Managerment of the Computer
    AfxWinInit
    NoSQL解决方案比较
    修改服务中可执行文件的路径
    MapReduce 笔记
    认识MongoDB
    Add a Console Application
  • 原文地址:https://www.cnblogs.com/ldbangel/p/6094573.html
Copyright © 2011-2022 走看看