ServletRequest使用介紹


  ServletRequest:

    定義將客戶端請求信息提供給某個 servlet 的對象;servlet 容器創建 ServletRequest 對象,並將該對象作為參數傳遞給該servletservice方法

       

 

  

    通過文檔閱讀可以看到HttpServletReuqest不是相關請求的頂級接口,它繼承自父接口——ServletRequest:

      

 

    HttpServletRequest對象代表客戶端的請求,當客戶端通過HTTP協議訪問服務器時,HTTP請求中的所有信息都封裝在這個對象中,開發人員通過這個對象的方法,可以獲得客戶這些信息;

    通過Request對象進行的常用操作:

    • 獲取客戶機信息
    • 獲取請求頭信息  
    • 獲取請求參數  
    • 利用請求域傳遞對象

 

  • 獲取請求行信息

    • API介紹

String getMethod() 	獲取請求方式的類型

String getRequestURI()  獲取請求行中的資源名部分:/項目名/資源名

StringBuffer getRequestURL()  獲取客戶端發出請求完整URL 如http://localhost:8080/項目名:資源名
    注:
	uri: 統一資源標識符,用來標識一個資源,資源路徑(相當於身份證)
	url: 統一資源定位符,是一種具體的URI,可以用來標識一個資源.並且指明了如何定位一個資源(相當於身份證中的地址)

String getProtocol()  獲取當前協議的名稱和版本

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

  

  • 獲取請求頭信息

    • API介紹

String getHeader(String name)  以String 的形式返回指定請求頭的值

Enumeration getHeaderNames() 返回此請求包含的所有頭名稱的枚舉

 

  • 獲取請求參數

    • API介紹

String getParameter(String name)  根據表單的name屬性 獲取對應的值

String[] getParameterValues(String name)  獲取name相同的所有value 如復選框

Map getParameterMap()  參數名作為key,參數值作為value,封裝到map中

void setCharacterEncoding(String env)  設置請求體的編碼
    注意:獲取請求參數之后,調用setCharacterEncoding方法無效

  

  • 其他作用

    • 獲取工程名字 

      • API介紹

String getContextPath()  獲取工程名字

 

    • 獲取當前      

      • API介紹
String getServletPath()  獲取獲得客戶端所請求的腳本文件的文件路徑

    如果請求路徑是:http://localhost:8080/mytest/demo,request.getContextPath()得到的是:/mytestrequest.getServletPath()得到的是:/demorequest.getRequestURI()得到的是:/mytest/demo;request.getRequestURL()得到的是:http://localhost:8080/mytest/demo;

 

    • 作為域對象

      • 域對象是一個容器,這種容器主要用於servlet與servlet之間的數據傳輸使用的;request域:代表一次請求的范圍,一般用於請求轉發的多個資源中共享數據
      • API介紹
void setAttribute(String name, Object o)  設置數據到request域

Object getAttribute(String name)  從request域獲取數據

void removeAttribute(String name)  從request域移除數據

    

    • 請求轉發

      • 一種在服務器內部的資源跳轉方式
      • API介紹
RequestDispatcher getRequestDispatcher(String path) 獲取請求轉發器(request對象方法)

void forward(ServletRequest request, ServletResponse response) 將請求轉發到另一個資源(servlet)上(RequestDispatcher對象的方法)
      • 使用步驟
1. 通過request對象獲取請求轉發器對象:RequestDispatcher getRequestDispatcher(String path)
2. 使用RequestDispatcher對象來進行轉發:forward(ServletRequest request, ServletResponse response)
      • 特點
1. 瀏覽器地址欄路徑不發生變化
2. 只能轉發到當前服務器內部資源中
3. 轉發是一次請求

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM