Filter 过滤器

Filter 过滤器

1. 过滤器作用:

  过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、

判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应

2.编写过滤器:

要使用过滤器需要实现接口 Filter(注意:是javax.servlet中的Filter)。

package com.xiaofu.servlet;

import javax.servlet.*;
import java.io.IOException;
//要使用过滤器需要实现接口 Filter
public class Demo implements Filter {
    //初始化:web服务器启动时,就已经初始化了,随时等待过滤对象出现
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("初始化");
    }
    /*
    * 1.过滤器中的所有代码,在过滤特定的请求的时候都会执行
    * 2.必须要让过滤器继续通行
    * */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        //设置字符编码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");

        System.out.println("1111111111111");
        chain.doFilter(request,response); //让我们的请求继续走 如果不写程序就会被拦截停止
        System.out.println("1111111111111");
    }

    //销毁:web服务器关闭的时候,过滤器会销毁
    @Override
    public void destroy() {
        System.out.println("销毁");
    }
}

写好了过滤器需要在web.xml中配置

 这样过滤器就完成了。

原文地址:https://www.cnblogs.com/love2000/p/14180953.html