package com; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class CharacterEncodingFilter implements Filter { protected String encoding = null;// 定义编码格式变量 protected FilterConfig filterConfig = null;// 定义过滤器配置对象 public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; // 初始化过滤器配置对象 this.encoding = filterConfig.getInitParameter("encoding");// 获取配置文件中指定的编码格式 } // 过滤器的接口方法,用于执行过滤业务 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (encoding != null) { HttpServletRequest hsRequest = (HttpServletRequest) request;// 获取HttpServletRequest对象 String requestedWith = hsRequest.getHeader("x-requested-with");// 获取请求的发出者,该信息由Ajax发送POST请求时设置 String contentType = request.getContentType();// 获取请求的内容类型 if (null != contentType && contentType .equalsIgnoreCase("application/x-www-form-urlencoded") && null != requestedWith && requestedWith.equals("ajax")) { request.setCharacterEncoding("UTF-8");// 设置编码为UTF-8 } else { request.setCharacterEncoding(encoding); // 设置请求的编码 response.setContentType("text/html; charset=" + encoding);// 设置应答对象的内容类型(包括编码格式) } } chain.doFilter(request, response); // 传递给下一个过滤器 } public void destroy() { this.encoding = null; this.filterConfig = null; } }

liu2022 LV14
2022年7月31日
wanglinddad LV55
2022年6月7日
Start1 LV15
2021年10月30日
夏至 LV3
2021年6月9日
是菲菲菲啦啦 LV3
2021年3月23日
159878 LV2
2020年11月26日
ExamplesDYC LV13
2020年11月22日
Snly小怪兽 LV4
2020年5月17日
Merlin12345 LV3
2020年3月25日
happy1231 LV7
2020年3月13日

ma406805131 LV19
2024年12月19日
噗通123321
2024年6月11日
暂无贡献等级
寒江雪2017 LV10
2024年5月24日
Liang朝伟 LV1
2024年1月5日
wttttts LV2
2024年1月1日
颜菜菜 LV2
2023年12月23日
yidaaaaaa LV1
2023年5月10日
95959595959 LV13
2023年4月11日
微信网友_6411724627349504 LV3
2023年4月3日
yanmoumou LV2
2022年12月22日