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();