servlet中post和get請求亂碼問題

2021-08-04 23:17:57 字數 862 閱讀 6001

在post請求當中我們是直接處理即可:

為什麼post和get處理請求亂碼的方式不一樣:

tomcat預設是使用iso-8859-1來處理引數。

因為在dopost中我們可以使用

request.setcharacterencoding("utf-8")對請求引數編碼,而不是預設的iso-8859-1,而在doget中卻不能直接使用setcharacterencoding()方法,

在這裡我們提供有兩種方法來處理請求的亂碼問題

(1)修改tomcat中config下的server.xml中的

在最後加上編碼方式uriencoding="utf-8"即可。

但是這種方法一般很少使用,因為你需要修改客戶伺服器上的tomcat檔案

(2)就是上面介紹的先解碼在編碼

//轉化為二進位制

byte b=name.getbytes("iso-8859-1");

//編碼

name=new string(b,"utf-8");

響應的亂碼處理都是使用response.setcontexttype("text/html;charset=utf-8");他表示設定了響應頭,而且設定了編碼的方式,(告訴瀏覽器使用utf-8的編碼)。這種形式是簡寫,完整的**如下:

response.sethead("contexttype","text/html;charset=utf-8");

總結一句話就是傳送端和接受端的編碼方式必須一樣。

HTTP Request中的post和get區別

1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單 內各個字段與其內容放置在html header內一起傳送到act...

HTTP Request中的post和get區別

get和post之間的主要區別 1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html ...

servlet中get和post編碼問題

request.setcharacterencoding 是設定從request中取得的值或從資料庫中取出的值 response.setcontenttype text xml charset gbk 是設定頁面中為中文編碼 前者是設定動態文字 引數,資料庫 後者設定頁面靜態文字 response....