weblogic项目转tomcat7中文400bad request
最近需要将有些项目从weblogic转为tomcat7部署,启动之后发现只要请求中含有中文参数,就会出现400 bad request。
检查后发现有两个问题会导致这种情况。
1.get请求含有中文。
2.ajax中的参数含有中文。
可以通过在tomcat的server.xml中增加配置
URIEncoding=“UTF-8” 和 useBodyEncodingForURI=“true”
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true" />
这个配置可以解决get请求中含有中文的情况。
但如果ajax中含有中文则需要在ajax请求之前将中文参数进行 URIEncoding处理。