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() {

    }
}
上一篇:MySQL索引失效的几种场景


下一篇:2021-10-09 ServletRequest