首页 > 其他分享 >servlet实操之filter过滤器

servlet实操之filter过滤器

时间:2022-11-10 21:14:25浏览次数:33  
标签:System filter println 实操 过滤器 out servlet public CharacterEncodingFilter

Filter

过滤器:用来过滤网站的数据

  • 处理中文乱码

  • 登录验证...
    image

实现过程

1、导包

2、编写过滤器

​ 2.1、包不要到错

   </dependency>
        <!--        JSTL表达式依赖-->
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
        </dependency>
        <!--        standard标签库-->
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

​ 2.2、重写filter

public class CharacterEncodingFilter implements Filter {
//初始化
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("CharacterEncodingFilter初始化");
    }
//chain:链
/*
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("CharacterEncodingFilter执行前。。。");
        chain.doFilter(request, response);//让我们的请求继续走,如果不写,程序到这里就被拦截了。
        System.out.println("CharacterEncodingFilter执行后。。。");
    }
//销毁  webf服务器关闭时销毁
    @Override
    public void destroy() {
        System.out.println("CharacterEncodingFilter销毁");
    }
}

标签:System,filter,println,实操,过滤器,out,servlet,public,CharacterEncodingFilter
From: https://www.cnblogs.com/teststack/p/16878774.html

相关文章