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" 。