URIEncoding用于指定URL后的附加参数的字符集编码,useBodyEncodingorURI则说明是否采用实体内容的字符集编码设置来代替URIEncoding的设置,也就是说,当useBodyEncodingorURI属性设置为true时,request.setCharacterEncoding("utf-8");方法设置的字符编码也将影响request.getParameter("");等方法对url地址后的参数进行url解码的结果.将tomcat安装目录中的conf\server.xml中的相应一段内容修改成
<Connector port="8080"
maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
[color=red]useBodyEncodingForURI="true" />[/color]
<Connector port="8080"
maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
[color=red]useBodyEncodingForURI="true" />[/color]