由于GET请求与POST请求服务端接收时的处理方式不同,而GET请求提交的数据会被放到URL后面带到服务器,而URL后面携带中文字符要进行编码,通常前端会进行encode,比如UTF-8 。这时我们在服务器的接收端可以进行一下统一进行解码,按
在Jboss的配置文件中进行配置
<Connector port="8080" address="${jboss.bind.address}"maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
在jetty中设置:
官方文档:http://docs.codehaus.org/display/JETTY/International+Characters+and+Character+Encodings
在jetty6中是:
- call Request.setQueryEncoding(String) before reading any of the content or params.
- set the system property org.mortbay.util.URI.charset to the encoding you want to use.
$JAVA_HOME/bin/java -Dorg.mortbay.util.URI.charset=utf-8 -jar $JETTY_HOME/start.jar -Djetty.home=$JETTY_HOME $JETTY_ARGS
jetty7中脚本片断如下:
JETTY_URI_ENCODE=-Dorg.eclipse.jetty.util.URI.charset=UTF-8
$JAVA_HOME/bin/java $JAVA_OPTS $JETTY_URI_ENCODE -jar $JETTY_HOME/start.jar -Djetty.home=$JETTY_HOME $JETTY_ARGS