1. 程式人生 > >HttpServletRequest介面中常用方法

HttpServletRequest介面中常用方法

     HttpServletRequest介面繼承於ServletRequest介面。HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,http請求頭中的所有資訊都封裝在這個物件中,通過HttpServletRequest提供的方法可以獲得客戶端請求的所有資訊。
    例如,客戶端請求的地址是:http://www.xinjun.com/about/list?name=zhang&index=4565。HttpServletRequest常用方法如下:
  1. getHeader(string name)方法:根據header引數名稱獲取值 ;
  2. getHeaderNames()方法:獲取header裡面的引數名稱;
  3. getParameterMap()方法:獲取請求引數對應的map ;
  4. getParameter(name)方法:根據請求引數的名稱獲取對應的值;
  5. getRemoteAddr()方法:傳送請求的客戶端主機的IP;
  6. getScheme()方法:獲取正確的協議,如http協議;
  7. getServerName()方法:伺服器主機名;
  8. getServerPort()方法:伺服器上web應用的訪問埠;
  9. getContextPath()方法:獲取域名後的斜杆加工程名,也就是上面例子中的/about
    部分;
  10. getRemoteAddr()方法:傳送請求的客戶端主機的IP;
  11. getRequestURI()方法:將URL的域名和尾隨的引數擷取掉,剩下的那部分就是URI,即/about/list部分;
  12. getRequestURL()方法:客戶請求的url,不包括引數資料;即例子中的http://www.xinjun.com/about/list部分;
  13. getMethod()方法:HTTP請求的的方法名,預設是GET,也可以指定PUT或POST;
  14. getRealPath(“/WEB-INF”)方法:獲取虛擬目錄的硬碟實際路徑;

【補充】

       response的響應內容:response.setContentType(“text/html;charset=gbk”),才可以正常顯示頁面中文。 如果需要獲得引數則用String status = new String(request.getParameter(“username”).trim().getBytes(), “GBK”);獲得其內容。 另外一種方法是:用String eQuery=URLEncoder.encode(“中文”,”GBK”);按照引數編碼格式進行轉碼,在頁面中通過request.getParamter(“eQuery”)得到的引數是中文,但是在url中顯示的是16進位制或其他進位制的編碼。