栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaweb21

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaweb21

一、什么是过滤器:

过滤器实际上就是对Web资源进行拦截,做一些处理后再交给下一个过滤器或Servlet处理

过滤器
@SuppressWarnings("all")
@WebFilter("/*") //设置过滤的规则
public class RoleFilter implements Filter {
    //此集合放不需要过滤的路径
    List paths=new ArrayList();

*存集合不用一个个设置
    //将路径放到列表中
    {
        paths.add("/index.jsp");
        paths.add("/tourists.jsp");
        paths.add("/login.do");
        paths.add("/exit.do");
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
        //过滤器的所有操作全部在这里完成
        HttpServletRequest request=(HttpServletRequest)req;
        HttpServletResponse response=(HttpServletResponse)resp;
        //获取当前请求的路径
        // http://localhost:8080/web21/index.jsp -> /index.jsp
        // http://localhost:8080/web21/exit.do -> /exit.do
        String path = request.getServletPath();
        //判断你当前访问的路径是否需要过滤 /index.jsp
        boolean f=false;
        for (String p : paths) {
            if(p.equals(path)){
                f=true;
                break;
            }
        }
        if(f){//当你的访问路径在列表中 我是不需要过滤的
            //让过滤器放行
            chain.doFilter(req,resp);
            return;//终止代码运行
        }
        //isLogin是在登录之后被放到session里面去
        Object isLogin = request.getSession().getAttribute("isLogin");
        if(isLogin == null){//没有登录
            //回去首页
            response.sendRedirect("index.jsp");
            return;
        }
        //让过滤器放行
        chain.doFilter(req,resp);
    }

}

什么是监听器:

Web监听器是一种能监听某个对象状态变化的组件,重点在于监听域对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836207.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号