67,513
社区成员
发帖
与我相关
我的任务
分享
<!-- hello页面html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
你好
</body>
</html>
/**
* 解决全站乱码问题,处理所有的请求
*/
@WebFilter(urlPatterns = "/*")
public class CharchaterFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse rep, FilterChain filterChain) throws IOException, ServletException {
//将父接口转为子接口
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) rep;
//获取请求方法
String method = request.getMethod();
//解决post请求中文数据乱码问题
if(method.equalsIgnoreCase("post")){
request.setCharacterEncoding("utf-8");
}
//处理响应乱码
response.setContentType("text/html;charset=utf-8");
filterChain.doFilter(request,response);
}
@Override
public void destroy() {
}
}
奥,想起来一个,你看看在tomcat文件夹 server.xml配置8080端口那个地方 <Connector connectionTimeout="20000" port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" redirectPort="8443"/> 加上URIEncoding="UTF-8" 看看
确实奇怪了,看一下不加过滤器的情况请求头和响应头分别是什么
确实奇怪了,看一下不加过滤器的情况请求头和响应头分别是什么
你可以把程序打包发出来
[quote=引用 4 楼 lkj2016的回复:][quote=引用 3 楼 睡不醒的ZWW 的回复:]感觉应该是文件编码不是utf8的,打开idea , 打开hello.html文件,查看idea右下角字符编码格式 不加过滤器时,估计response header中不是utf8
[quote=引用 3 楼 睡不醒的ZWW 的回复:]感觉应该是文件编码不是utf8的,打开idea , 打开hello.html文件,查看idea右下角字符编码格式 不加过滤器时,估计response header中不是utf8
感觉应该是文件编码不是utf8的,打开idea , 打开hello.html文件,查看idea右下角字符编码格式 不加过滤器时,估计response header中不是utf8
点击浏览器控制台上的hello.html,看看请求的response header