Filter实战——实现乱码处理

Posted 名字真的很急用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Filter实战——实现乱码处理相关的知识,希望对你有一定的参考价值。

利用注解的方式来拦截所有请求。

@WebFilter("/*")

出现乱码的问题主要就是编码和解码的格式不一样,只有掌握这一点就OK

出现响应post乱码为什么不能这样写?

resp.setContentType("text/html;character=utf-8");

因为我们针对项目的post请求不一定全部都是text/html,也有可能处理的是视频或者图片,所以我们要针对所有的请求。

package 过滤器;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter("/*")
public class characterFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("拦截了所有的请求");
        //处理全部的post请求的乱码和响应乱码
        servletRequest.setCharacterEncoding("UTF-8");
        servletResponse.setCharacterEncoding("UTF-8");
        filterChain.doFilter(servletRequest, servletResponse);
    }

    @Override
    public void destroy() {

    }
}

以上是关于Filter实战——实现乱码处理的主要内容,如果未能解决你的问题,请参考以下文章

狂神说JavaJavaWeb入门到实战--Filter 过滤器

17用filter实现全栈乱码过滤 和30天自动登录

Filter过滤器(自动登陆通用的字符集编码的过滤处理不同请求的乱码问题。。。)

java中Filter过滤器处理中文乱码的方法

spring解决乱码

Spring Boot实战之Filter实现简单的Http Basic认证