Servlet过滤器
它能够对Servlet容器的请求和响应进行拦截和处理,并能生成请求和响应。
过滤器的配置方式:
1、通过web.xml配置过滤器
<filter>
<filter-name>FilterName</filter-name>//过滤器的名称
<filter-class>package.className</filter-class>//过滤器实现类
<init-param>//给过滤器提供初始化参数
<param-name>ParamName</param-name>//参数名称
<param-value>ParamValue</param-value>//参数的值
</init-param>
</filter>
将Servlet过滤器映射至URL或Servlet
<filter-mapping>
<filter-name>FilterName</filter-name>
<url-pattern>/*</url-pattern>//表示作用于整个项目
</filter-mapping>
2、通过注解的方式配置过滤器
@WebFilter("/*") // 通过注解的方式配置过滤器,*表示怎么个项目
1 /** 2 * 自定义过滤器实现Filter 3 */ 4 @WebFilter("/*") // 通过注解的方式配置过滤器,*表示怎么个项目 5 public class MyFilter implements Filter { 6 7 public void destroy() { 8 // 关闭的时候调用 9 } 10 11 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 12 throws IOException, ServletException { 13 // 设置怎么项目请求的编码 14 request.setCharacterEncoding("utf-8"); 15 // 也可以响应请求 16 response.setContentType("text/html; charset=UTF-8"); 17 response.getWriter().write("过滤器已经过滤!"); 18 // 过滤后转发向指定页面 19 chain.doFilter(request, response); 20 } 21 22 public void init(FilterConfig fConfig) throws ServletException { 23 // 这里可以获取配置的初始化参数 24 } 25 }