文档介绍:J ava 中 filter 过滤器的使用: Servlets Filter 是 Servlet 规范中新增加的,它是截取用户从客户端提交的请求,在还没有到达需要访问的资源时运行的一个类。它操纵来自客户端的请求, 在资源还没有初发送到客户端前截取响应,并处理这些还没有发送到客户端的响应。 Filters 有许多的应用场合。 Servlet 规范建议如下的地方可以应用 Filter : authentication filters logging and auditing filters image conversion filters pression filters encryption filters tokenizing filters filters that trigger resource access events XSL/T filters that transform XML content MIME-type chain filters 如何实现一个过滤器呢? 1. 所在的类实现 Filter 接口 public interface Filter public void init(FilterConfig filterConfig)throws ServletException 过滤器初始化是在容器启动时自动初始化 public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletExcepton 在标准 Servlet 中的 doGet 或 doPost 方法中,传递参数为: HttpServletRequest 、 HttpServletResponse 过滤器销毁 public void destroy() 例: 如下为过滤器基本的主要结构 import ; import ; import ; import ; import ; import ; import ; public class MyFirstFilter implements Filter { private String encoding ; public void destroy() {System. out .println( "过滤器销毁"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System. out .println( "过滤 doFilter" ); (request, response); } public void init(FilterConfig filterConfig) throws ServletException {System. out .println( "过滤器初始化"); encoding =( "encoding "); } 对应配置文件: <filter ><filter-name >encodingFilter </filter-name > <filter-class >. MyFirstFilter </filter-class > <init-param ><param-name >encoding </param-name > <param-value >Shift_JIS </param-value > </init-param ></filter ><filter-mapping ><filter-name >encodingFilter </filter-name > <servlet-name >action </servlet-name > </filter-mapping ><servlet ><servlet-name >action </servlet-name > <url-pattern >/*</url