Servlet过滤器的使用

时间:2019-06-18
本文章向大家介绍Servlet过滤器的使用,主要包括Servlet过滤器的使用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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 }

原文地址:https://www.cnblogs.com/lingdu9527/p/11047464.html