JavaWeb过滤器

过滤器是由一个中间组件,用于拦截源数据和目的数据之间的消息,或者可以说是过滤二者之间的关系

过滤器可以过滤从客户端传递到服务器端的请求和响应: Filter过滤请求和响应

Web应用上部署多个过滤器
过滤器可以组成一个过滤器链。链中的每个过滤器负责特定的操作和任务,客户端的请求和响应在这些过滤器之间传递 

过滤器的一些常见应用:
1:认证过滤:对用户请求进行统一的认证。

2:登录和审核过滤:对用户的访问请求进行记录和审核。

3:图像转换过滤:转换图像格式。

4:数据压缩过滤 :对用户发生的数据进行压缩,从而减少传输量。

5:加密过滤:对请求和响应进行加密解密处理。

6:令牌过滤

7:资源访问触发事件过滤 

8:XSLT过滤 

9:MIME-type过滤 

过滤器API 
由容器实现接口
 ----    javax.servlet.Filter
  --- -   javax.servlet.FilterChain
      ----    javax.servlet.FilterConfig 
四个包装类:
---- javax.servlet.ServletRequestWrapper

---- javax.servlet.ServletResponseWrapper

---- javax.servlet.http.HttpServletRequestWrapper

---- javax.servlet.http.HttpServletResponseWrapper (在请求送到过滤器链的下一个组件之前更改请求的内容或者改变从前一个组件接收的响应)

Filter接口

方法 描述

void init(FilterConfig) | 在应用程序启动时,由容器调用
----------------------------------------------------- |----------------------------------------------------------------
void doFilter(ServletRequest, | 对于每个URL映射到该过滤器的请求,
ServletResponse, FilterChain) | 由容器调用该方法。
---------------------------------------------------|-------------------------------------------------------------------  
void destroy() | 在应用程序关闭时,由容器调用。

---------------------------------------------------|------------------------------------------------------------------

init()方法
容器仅调用过滤器实例的 init()方法一次。在init()方法没有执行完之前,容器不会转发任何请求到过滤器。
过滤器的生命周期方法 ,过滤器API不提供Filter接口的任何实现 。自定义的过滤器必须明确地实现所有三个方法 
doFilter()方法给过滤器对象一个机会来处理请求,转发请求到过滤器链中的下一个组件,或者自己回复客户端 。

FilterConfig接口 

为过滤器提供初始化参数 。。。由Servlet容器实现 
方法                                                                        描述

String getFilterName() 返回在部署描述文件中指定的过滤器的名称
String getInitParameter(String) 返回在部署描述文件中指定的参数的值

Enumeration getInitParameterNames() 返回在部署描述文件中指定的所有参数的名称

ServletContext getServletContext() 返回Web应用程序的ServletContext。过滤器可以使用ServletContext设置、获取application范围内的属性。















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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值