做專案的時候乙個成員提交表單後成了亂碼,看了以後原來是提交方式的問題:
專案本身是採用了ssh2的架構,我一直習慣於採用struts2的標籤,而他採用了普通標籤,struts2的form標籤預設提交方式是post,而普通標籤提交方式為get,所以若用普通標籤,需要把標籤的method改為post。
下面是兩種方式的區別,來自於網際網路:
form中的get和post方法,在資料傳輸過程中分別對應了http協議中的get和post方法。二者主要區別如下:1、get是用來從伺服器上獲得資料,而post是用來向伺服器上傳遞資料。
2、get將表單中資料的按照variable=value的形式,新增到action所指向的url後面,並且兩者使用「?」連線,而各個變數之間使用「&」連線;post是將表單中的資料放在form的資料體中,按照變數和值相對應的方式,傳遞到action所指向url。
3、get是不安全的,因為在傳輸過程,資料被放在請求的url中,而如今現有的很多伺服器、**伺服器或者使用者**都會將請求url記錄到日誌檔案中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息將會一同顯示在使用者面前。post的所有操作對使用者來說都是不可見的。
4、get傳輸的資料量小,這主要是因為受url長度限制;而post可以傳輸大量的資料,所以在上傳檔案只能使用post(當然還有乙個原因,將在後面的提到)。
5、get限制form表單的資料集的值必須為ascii字元;而post支援整個iso10646字符集。
6、get是普通form標籤的預設方法。
使用post傳輸的資料,可以通過設定編碼的方式正確轉化中文;而get傳輸的資料卻沒有變化。
ps:搞笑,今天做專案的時候用到了url傳遞引數(典型的get提交),結果中文亂碼了,最後找到解決方式:
修改tomcat中server.xml檔案:
問題解決。。。。
form表單提交中文亂碼問題
今天在做乙個小專案時,遇到了form表單提交到資料庫中的中文亂碼情況。經過打斷點排查原因,發現是 在執行存資料庫操作之前就已經亂碼了。經過一番檢查,發現了問題所在,特此記錄下。設定 request物件的編碼 即可。注 客戶端資料是以什麼編碼格式提交的,就設定什麼編碼格式。如我在前端設定為 utf 8...
jsp表單提交中文亂碼
本人新手一枚,第一次寫部落格,問題可能在很多大神眼裡看來微不足道,只是小小的記錄一下自己在學習過程中遇到的問題,有錯誤敬請指正,不喜勿噴。最近在寫jsp頁面,遇到頁面寫好,當把從表單中獲得的值提交到資料庫後,資料庫中顯示亂碼的問題。剛開始以為是編碼設定的問題,一般在寫正文內容之前,都要設定一下req...
jsp post表單提交中文亂碼
今天遇到乙個bug,jsp以表單提交時會有中文亂碼,情況如下 post表單如下 後台 如下 readerinfo.setaddress address readerinfo.setbirth nbirth readerinfo.setname name readerinfo.setreaderid ...