URL中参数的值为中文时,servlet接收后显示为乱码,如下图:

这时候需要修改tomcat的中的server.xml文件。该文件路径为 tomcat安装目录下的conf文件夹。
为修改前的server.xml文件。

修改后的server.xml文件。增加了一行: URIEncoding="UTF-8"

修改后重启tomcat服务器,然后测试正常。

利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,
只对POST方式提交的数据有效,对GET方式提交的数据无效!
要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。
ps:2017年4月20日
最近看书,知道为什么 request.setCharacterEncoding("UTF-8")只能对post提交的数据有效。
因为post提交的数据是封装在网页正文里面的。服务器接收后,可以处理成UTF-8
而get提交的时候,数据是在URL里面的。因为要去tomcat里面单独设置URIEncoding="UTF-8" 。