1. 程式人生 > >JSP的request物件

JSP的request物件

requst物件封裝了有客戶端生成的HTTP請求的所有細節,主要包括HTTP頭資訊、系統資訊、請求方式和請求引數等。

1、獲取訪問請求引數

request.getParameter("");

在使用request的getParameter()方法獲取傳遞的引數值時,如果指定的引數不存在,將返回null,如果指定了的引數名,但未指定引數值,將返回空的字串“”

2、獲取表單提交的資訊

request.Parameter();

request.getParameterValues();  //獲取複選框和多選框被選定的內容

3、解決中文程式碼

1)獲取訪問請求引數是亂碼

當訪問請求引數是中文時,通過request物件獲取到的中文引數值為亂碼,這是因為該請求參賽採用的是ISO-8859-1編碼,不支援中文。所以,只有就愛那個獲取到的資料同過String的構造方法使用UTF-8貨GBK編碼重新構造一個String物件,才可以正確地顯示中文。

String user =new String (request.getParameter("user").getBytes("ISO-8859-1","utf-8"));

2)獲取表單提交的資訊亂碼

當獲取表單提交的資訊時,通過request物件獲取到的中文引數值為亂碼。這可以通過在page指令的下方加上呼叫request物件的setCharacterEncoding()方法將編碼設定為UTF-8或是GBK解決。

request.setCharacterEncoding("UTF-8");

呼叫request物件的setCharacterEncoding()方法的語句,一定要在頁面中沒有任何呼叫request物件的方法時才能使用,否則該語句將不起作用!

4、通過request物件進行資料傳遞

request.setAttribute(String name,Object object);
request.getAttribute(Stirng name)

5、獲取客戶端資訊 

getHeader(String name):獲取HTTP協議定義的檔案頭資訊

getHeaders(String name):返回指定名字的request Header 的所有值,其結果是一個列舉型別的例項

getHeadersNames() :返回所有request Header的名字,其結果是一個列舉型的例項

getMethod():獲得客戶端向伺服器端傳送資料的方法,如get post header trace等

getProtocol:獲得客戶端向伺服器傳遞資料所以依據的協議名稱

getRequestURL():獲得付出請求字串的客戶端地址,不包括請求的引數

getRequestURI():獲取發出請求字串的客戶端地址

getRealPath():返回當前請求檔案的絕對路徑

getRemoteAddr():獲取客戶端的IP地址

getRemoteHost():獲取客戶端的主機名

getServerName():獲取伺服器的名字

getServerPath():獲取客戶端鎖清秋的指令碼檔案的檔案路徑

getServerPort():獲取伺服器的埠號

6、獲取cookie

Cookie[ ] cookies= request.getCookies();

7、顯示國際話資訊

java.util.Locale locale = request.getLocale();