解決Tomcat修改get提交請求亂碼問題。本站提示廣大學習愛好者:(解決Tomcat修改get提交請求亂碼問題)文章只能為提供參考,不一定能成為您想要的結果。以下是解決Tomcat修改get提交請求亂碼問題正文
1:表單提交controller獲得中文參數後亂碼解決方案
注意: jsp頁面編碼設置為UTF-8
***************form表單提交方式為必須為post,get方式下面spring編碼過濾器不起效果
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <form action="/user/addUser" name="userForm" method="post">
修改web.xml,增加編碼過濾器,如下(注意,需要設置forceEncoding參數值為true)
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
tomacat對GET和POST請求處理方式是不同的,要處理針對GET請求的編碼問題,則需要改tomcat的server.xml配置文件,如下:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
改為:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
**************注意Eclipse中Tomcat,server,clean功能會將原先配置還原
如果你是更改的tomcat安裝目錄的server.xml配置文件,其實是因為eclipse在運行項目時是用的eclipse中配置的tomcat,那麼問題就好解決了,打開eclipse中的tomcat配置文件,改為如下即可:
注:配置useBodyEncodingForURI="true"後,可以解決普通get請求的中文亂碼問題,但是對於通過ajax發起的get請求中文依然會亂碼,請把useBodyEncodingForURI="true"改為URIEncoding="UTF-8"即可。
以上所述是小編給大家介紹的Tomcat修改get提交請求亂碼問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!