web过滤器

过滤器
    概述
      从技术上讲,过滤器是一个中间组件,用于拦截源数据和目的数据之间的消息,并且过滤二者之间传递的数据。其作用类似于警卫,阻止不想的信息从一个点传递到另一个点
      对于Web应用程序,过滤器是驻留在Web服务器上的Web组件,它可以过滤从客户端传递到服务器的请求和响应,当Web容器接收到一个对资源的请求,它将判断是否有过滤器与这个资源相关联。如果有,就交给过滤器,过滤器可以更改请求的内容,或者重设置请求头,然后再将请求传递给目标资源。同样它也可以对服务器发出的响应进行修改。
      从上面的过程可以看出客户端和目标资源来说都是透明的,他们不需要知道过滤器的存在
      在这个过程当中还可以设置多个过滤器,形成一条链,来进行相应的处理
    应用:
      1.认证过滤:对用户请求进行统一的认证
      2.登录和审核过滤:对用户的访问请求进行记录和审核。
      3.图像转换过滤:转换图像格式
      4.数据压缩过滤:对用户发生的数据进行压缩,从而减少传输量
      5.加密过滤:对请求和响应进行加密解密处理
      6.令牌过滤
      7.资源访问触发事件过滤
      8.XSLT过滤
      9.MIME-type过滤
      代码:
        过滤器必须实现Filter这个接口
          有三个方法需要实现
            1.init()-初始化
            2.doFilter()-过滤
            3.destroy()-销毁
        注意:javax.servlet包中包括
          ServletRequest、ServletResponse、ServletExcption、FilterConfig、Filter、FilterChain
        javax.io包中包括:
          PrinterWriter、IOExcption
        Filter的布署
          它的布署跟servlet的 布署差不多eg:
            <filter>       <filter-name>Hello</filter-name>                 <filter-class>com.lovo.HelleWorld</filter-class>          </filter>  <filter-mapping>            <filter-name>Hello</filter-name>                    <url-pattern>/filter/*</url-pattern> </filter-mapping>
    过滤器API:
      容器实现的三个接口:
        1.javax.servlet.Filter
        2.javax.serlvet.Filter.Chain
        3.javax.servlet.FilterConfig-跟servlet中的servletConfig一样,主要是提供过滤器初始化参数
      容器实现的四个包装类:
        1.javax.servlet.ServletRequestWrapper
        2.javax.servlet.Servletresponsewrapper
        3.javax.servlet.HttpServletRequestWrapper
        4.javax.servlet.HttpServletResponseWrapper

web过滤器可以防止WVS扫描和注入、跨站等***。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值