您好,登錄后才能下訂單哦!
1:表單提交controller獲得中文參數(shù)后亂碼解決方案
注意: jsp頁面編碼設(shè)置為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,增加編碼過濾器,如下(注意,需要設(shè)置forceEncoding參數(shù)值為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發(fā)起的get請求中文依然會亂碼,請把useBodyEncodingForURI="true"改為URIEncoding="UTF-8"即可。
以上所述是小編給大家介紹的Tomcat修改get提交請求亂碼問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。