如何实现web过滤器
发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,小编给大家分享一下如何实现web过滤器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!过滤器 概述 从技术上讲,过滤
千家信息网最后更新 2025年02月13日如何实现web过滤器
小编给大家分享一下如何实现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:
Hello com.lovo.HelleWorld Hello /filter/*
过滤器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.HttpServletResponseWrapp