Servlet--过滤器

过滤器

🌓过滤器概念

  • 过滤器是能够对web请求和web响应的头属性和内容体进行操作的一种特殊web组件

  • 过滤器的特殊之处在于本身并不直接生成web响应,而是拦截web请求和响应,以便查看、提取或以某种方式操作客户机和服务器之间交换的数据

    补充:VPN也相当于过滤器

🌘 过滤器功能:

  • 分析web请求,对输入的数据进行预处理
  • 阻止web请求和响应的进行
  • 根据功能改动请求的头信息和数据体
  • 与其他web资源协作

🌛过滤器使用方法:

  • 过滤器的API包括javax.servlet包中的Filter,FilterChain和FilterConfig三个接口
  • 所有的过滤器都必须实现javax.servlet.Filter接口,该接口定义了init(),doFilter()和destory()三个方法
  • 这三个方法分别对应了过滤器生命周期中的初始化、响应和销毁三个阶段

🌍总结:

自定义过滤器:

完成请求的拦截和资源的统一管理

使用方式:

  • 定义普通的java类,实现Filter接口
  • 重写其中的方法
    • init:完成初始化功能 tomcat启动的时候执行一次
    • dofilter:进行处理 每次发送请求都会执行
    • destory:销毁功能 tomcat关闭的时候执行

<filter>
    <filter-name>filter</filter-name>                         	配置filter别名
    <filter-class>(类路径地址)</filter-class>				配置filter指定类名路径
</filter>
<filter-mapping>
	<filter-name>filter</filter-name>						配置filter的别名,跟filter标签中的name对应
	<url-pattern>/*</url-pattern>							表示要匹配的请求
</filter-mapping>

在过滤器的web.xml配置文件中,可以指定过滤器过滤哪些请求

  • /* :匹配所用请求
  • /*.do:匹配所用后缀为do的请求
  • /filter.do:匹配请求为filter.do的请求

生命周期: 从tomcat启动到关闭

filterChain: 表示过滤器链

在项目中可以定义N多个过滤器,当开始执行的时候,根据用户的请求把符合规则的过滤器挨个执行

建议:每个过滤器完成独立功能,不要将所用的逻辑处理都放置到同一个过滤器中,耦合性高,不利于维护

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值