过滤器与监听器

过滤器

1.什么是过滤器

  • 过滤器的概念: 对请求和响应进行拦截或者增强的对象,就是过滤器。
  • Filter接口:功能——对请求和响应进行增强,或者进行拦截。
    这里写图片描述

  • 过滤器运行图解

这里写图片描述

  • *Filter定义以及创建步骤介绍
package cn.itcast.filter;



import java.io.IOException;



import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;



/**

* @author wjn

* 总结:过滤器书写步骤

* 第一:创建类实现接口——DemoFilter implements Filter

* 第二:过滤任务写在doFilter方法中

* 第三:web.xml中配置

*/

public class DemoFilter implements Filter{



    @Override

    //销毁的方法

    public void destroy() {

    }



    @Override

    //执行过滤的方法

    public void doFilter(ServletRequest arg0, ServletResponse arg1,

            FilterChain arg2) throws IOException, ServletException {

        System.out.println("DemoFilter.....doFilter....");



    }



    @Override

    //初始化的方法

    public void init(FilterConfig arg0) throws ServletException {

    }



}





Filter 是在 Web 应用程序的部署描述符中配置的——过滤器创建好之后,需要在web.xml中做配置



在web.xml文件中配置过滤器


<filter>

    <filter-name>DemoFilter</filter-name>

    <filter-class>cn.itcast.filter.DemoFilter</filter-class>

</filter>



<filter-mapping>

    <filter-name>DemoFilter</filter-name>

    <url-pattern>/1.txt</url-pattern>

</filter-mapping>
  • 过滤器放行的对象:FilterChain功能介绍

这里写图片描述

  • FilterChain的doFilter方法:

这里写图片描述

  • 代码实现

这里写图片描述

  • 过滤器放行执行过程:

这里写图片描述


FilterConfig介绍

  • servletConfig对象:获取servlet相关的配置信息。FilterConfig定义:获取filter相关的配置信息。

关于url-pattern配置

  • **servlet的url-pattern:

全路径匹配——

地址栏:localhost:8080/项目根路径/资源路径 localhost:8080/itcast-filter2/1.txt

通配符的匹配——

地址栏:localhost:8080/项目根路径/abc/***

-Filter的url-pattern配置与servlet一致。

总结

总结:

过滤器执行的顺序是按照,web.xml中filter-mapping标签的书写顺序执行(从上往下执行)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值