您好,登录后才能下订单哦!
请求超时!
售前咨询:400-100-2938
分享
小编给大家分享一下如何实现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: