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

过滤器 - Filter基础与案例实现

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

过滤器 - Filter基础与案例实现

 一、web.xml配置:
Filter配置:
    
        demo1
        cn.leader.web.filter.FilterDemo1
    
    
        demo1
        
        

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

@WebFilter("/*")
public class LoginFilter implements Filter {
    public void init(FilterConfig config) throws ServletException {
    }

    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
        //类型强制转换 接口不提供具体方法
        HttpServletRequest req = (HttpServletRequest)request;
        //获取资源请求路径
        String uri = req.getRequestURI();
        //System.out.println(uri);
        //判断资源请求路径中是否包含登录相关用户资源
        if (uri.contains("/managerLogin.jsp") || uri.contains("/loginServlet") || uri.contains("/css/") || uri.contains("/js/") || uri.contains("/fonts") || uri.contains("/verifyCodeImg")){
            //包含说明用户要访问登录页面 直接放行
            chain.doFilter(request,response);
        }else {
            //不包含则判断是否登录
            //从session中获取user
            Object user = req.getSession().getAttribute("lUser");
            if (user != null){
                //不等于空则放行
                chain.doFilter(request, response);
            }else {
                //等于空代表没有user对象 没有登录 跳转登陆页面
                req.setAttribute("login_msg","宁尚未登录,请先登录");
                req.getRequestDispatcher("/managerLogin.jsp").forward(req,response);
            }
        }

    }
}

注意变量名是否与servlet中一致,否则会出现登录不上的问题

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017055.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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