利用注解的方式来拦截所有请求。
@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() { } }