欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Filter过滤器的使用

程序员文章站 2024-02-09 16:07:10
...

过滤请求和响应的中文,识别中文
过滤器的java类(实现的是javax.servlet下的)

public class CharacterEncodingFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        //初始化
        System.out.println("我是初始化========");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
servletResponse.setContentType("text/html;charset=UTF-8");
     System.out.println("过滤器执行前=======");
     filterChain.doFilter(servletRequest,servletResponse);//让我的请求继续走,否则就被拦截停止
     System.out.println("过滤器执行后后后后=======");
    }

    @Override
    //销毁
//web结束的时候销毁
    public void destroy() {
//通知回收垃圾,可以不写
        System.gc();
        System.out.println("我是销毁===========");
    }
}

配置xml文件

  //过滤器的配置
  <filter>
    <filter-name>fi</filter-name>
    <filter-class>com.jsptest.CharacterEncodingFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>fi</filter-name>
    //过滤的是/hh请求
    <url-pattern>/hh</url-pattern>
  </filter-mapping>