JavaWeb学习笔记-Filter过滤器

本文介绍了JavaWeb中Filter过滤器的基本概念,包括其作为三大组件之一的角色,以及如何实现和使用Filter。详细讲解了Filter的生命周期,如构造、初始化、过滤及销毁方法,并讨论了FilterConfig类的功能。此外,还阐述了Filter的执行顺序及其配置策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是Filter?
Filter是javaweb三大组件之一,三大组件分别是Servlet程序,Listen监听器,filter过滤器,filter过滤器是一个接口,通过实现filter接口的dofilter()方法来拦截web请求,同时也可以过滤响应

2.Filter简单使用(判断账号密码是否正确)

 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
          HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
          //只有httpServletRequest类才有Session

        if (httpServletRequest.getParameter("user").equals("admin")
        &&httpServletRequest.getParameter("password").equals("123456"))
        {
            //用户名密码正常的情况下给予访问
            filterChain.doFilter(servletRequest,servletResponse);//交给下一个过滤器或Servlet
        }
       else
        {
            servletResponse.getWriter().write("Error");
        }
    }

web.xml文件

 <filter>
        <filter-name>filter</filter-name>
        <filter-class>filter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>filter</filter-name>
        <!--
        /* 拦截所有请求
        /index.jsp 拦截指定文件
        /*.jsp 拦截所有的jsp文件
        /hello 拦截指定路径
        -->
        <url-pattern>/hello</url-pattern>
    </filter-mapping>

3.Filter的生命周期(与Servlet的生命周期一样)

  • 3.1 构造方法
  • 3.2 init初始化方法
  • 3.3 dofilter方法
  • 3.4 destroy销毁方法

4.FilterConfig类(与servletConfig类似)
主要是获得filter的配置信息
5.Filter的执行顺序

  • 5.1 执行顺序是根据web.xml的filter配置顺序

  • 5.2 如果用注解的方式,则filter的执行顺序根据类名的字母顺序执行
    比如 Afilter类比Bfilter类先执行

  • 5.3 建议使用web.xml配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值