溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

解決Tomcat修改get提交請求亂碼問題

發(fā)布時間:2020-09-29 06:27:44 來源:腳本之家 閱讀:210 作者:m0_37634472 欄目:編程語言

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配置文件,改為如下即可:

解決Tomcat修改get提交請求亂碼問題

注:配置useBodyEncodingForURI="true"后,可以解決普通get請求的中文亂碼問題,但是對于通過ajax發(fā)起的get請求中文依然會亂碼,請把useBodyEncodingForURI="true"改為URIEncoding="UTF-8"即可。

以上所述是小編給大家介紹的Tomcat修改get提交請求亂碼問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

向AI問一下細(xì)節(jié)

免責(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)容。

AI