• JavaWeb过滤器——登录过滤


    一般来说简单且常用的过滤器使用方法,我觉得除了配置字符编码的过滤之外就是登录器的过滤了

    登录过滤器的主要过程可以 一句话来概括:首先在登录的时候把指定好的标志放在session中,操作过滤的时候根据session中的标志判断是否需要过滤。(好像是废话……)

    过滤器代码:

    package com.ahoo.filter;
    
    
    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    
    /**
     * @author xueyuan
     * @dater 2017/2/20.
     */
    public class LoginFilter implements Filter {
    
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
    
            HttpServletRequest req = (HttpServletRequest) request;
            HttpServletResponse resp = (HttpServletResponse) response;
            HttpSession session = req.getSession();
            //获取请求路径
            String path = req.getRequestURI();
            //获取session中作为判断的字段
            String pwd = (String) session.getAttribute("passwd");
            //判断请求的 路径中是否包含了 登录页面的请求
            //如果包含了,那么不过滤 继续执行操作
            if (path.indexOf("/back/login.do") > -1) {
                filterChain.doFilter(req, resp);
            } else {
                //如不包含,那么就要判断 session中否有标志,如果没有标志,那么不让他看,让他去登录,反之执行操作!
                if (pwd == null || "".equals(pwd)) {
                    resp.sendRedirect("/back/login.do");
                } else {
                    filterChain.doFilter(req, resp);
                }
            }
        }
    
        @Override
        public void destroy() {
    
        }
    }

    web.xml中配置过滤器

     <filter>
            <filter-name>login</filter-name>
            <filter-class>com.ahoo.filter.LoginFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>login</filter-name>
            <!-- 过滤某个文件夹下面的 我这里是back目录下的操作-->
            <url-pattern>/back/*</url-pattern>
        </filter-mapping>

    参考:http://www.cnblogs.com/haojieli/p/5559854.html  感谢园友的无私奉献!

  • 相关阅读:
    搜狗输入法——从繁体改成简体
    java官网下载
    eclipse官网下载
    java拷贝指定文件夹下的指定文件类型
    bat脚本——删除当前文件夹的所有指定文件类型
    windows系统下载地址大全&大白菜下载和教程
    struts2——文件下载自定义文件名,包括中文
    struts2——文件下载(简单的功能)
    nginx官网下载&百度云分享
    Apache HTTP Server——官网下载
  • 原文地址:https://www.cnblogs.com/eoooxy/p/6419839.html
Copyright © 2020-2023  润新知