在自己定义的Filter类中,所有符合映射配置的URL请求都会被截获,并把请求转移到doFilter()方法。doFilter()方法是自定义Filter类的核心方法,所需的业务功能将在本方法中实现。在该方法的最后需调用参数FilterChain的doFilter()方法,程序才能往下运行。
下面以把所有请求信息编码转化为GBK为例,讲述如何使用过滤器。
①建立实现javax.servlet.Filter接口的自定义EncodingFilter程序。
②配置web.xml文件。要使Filter在程序中起作用,必须要配置web.xml。在文件添加如下配置内容:(www.xing528.com)
<filter-mapping>是一个映射节点,子节点<url-pattern>表示URL的映射模式,其值为“/*”,其中“*”是能配符,表示所有的请求都符合此映射节点的要求,即所有的请求都会被filter截获。子节点<filter-name>表示此映射对应的filter名,与上面<filter>节点中的子节点<filter-name>对应,即<filter-mapping>中的<filter-name>的值需与<filter>中的<filter-name>的值一样,否则无法寻找到自定义的filter类。<filter-class>表示自定义的filter类的位置。
对Web应用进行正确部署,启动后,每次访问请求都会被自定义Filter截获,每次截获都会在控制台输出“**************”,因为doFilter()方法中有一条System.out.println("**************")语句。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。