过滤器(Filter)技术的应用 J2EE 提供了一种特殊的Servlet,就是Filter
它不是一种单独的网络组件,因为它不产生请求和响应信息,它必须依附于其他的网络组件存在
所以我们利用它完成信息的编码转化、数据加密、身份验证、数据压缩、日志记录等很多种工作
下面我们共同看一下 Filter 的结构和具体的应用方法,并且结合实例进行讲解
一、Filter 的结构 我们自己编写的Filter 必须要实现 javax
servlet
Filter 接口,这个接口只要包含了三个主要的方法: init()-初始化过滤器,它的输入参数 javax
servlet
FilterConfig 的一个实例,可以这里初始化过滤要使用到的FilterConfig
这个方法由 Web 容器自动调用
doFilter()-进行具体的过滤操作,这个方法以javax
servlet
ServletRequest 请求信息,javax
servlet
ServletResponse 响应信息,javax
servlet
FilterChain 过滤链
过滤链,在Web应用程序中所有的过滤器会构成一个链状,符合过滤条件的程序将会根据定义的顺序执行所有链中的过滤器
destory()-销毁过滤器,可以在这里释放使用完的资源,例如设置过滤器中 FilterConfig为null
二、在Web 程序中建立过滤器 1、建立实现 javax
servlet
Filter 接口的自定义 Filter 程序
下面是一个进行请求信息编码转化的Filter: import java
IOException; import java
Enumeration; import javax
servlet
Filter; import javax
servlet
FilterChain; import