HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,HTTP請求頭中的所有資訊都封裝在這個物件中,開發人員通過這個物件的方法,可以獲得客戶這些資訊。

request常用方法

獲得客戶機資訊

getRequestURL-----返回客戶端發出請求時的完整URL。

getRequestURI-----返回請求行中的資源名部分。

getQueryString-----返回請求行中的引數部分。

getRemoteAddr-----返回發出請求的客戶機的IP地址

getRemoteHost-----返回發出請求的客戶機的完整主機名

getRemotePort-----返回客戶機所使用的網路埠號

getLocalAddr-----返回WEB伺服器的IP地址。

getLocalName-----返回WEB伺服器的主機名

getMethod-----得到客戶機請求方式

獲得客戶機請求頭

getHead(name)方法

getHeaders(String name)方法

getHeaderNames方法

獲得客戶機請求引數(客戶端提交的資料)

getParameter(name):獲取指定名稱的引數值。這是最為常用的方法之一。

getParameterValues(String name):獲取指定名稱引數的所有值陣列。它適用於一個引數名對應多個值的情況。如頁面表單中的複選框,多選列表提交的值。

getParameterNames():返回一個包含請求訊息中的所有引數名的Enumeration物件。通過遍歷這個Enumeration物件,就可以獲取請求訊息中所有的引數名。

getParameterMap():返回一個儲存了請求訊息中的所有引數名和值的Map物件。Map物件的key是字串型別的引數名,value是這個引數所對應的Object型別的值陣列

呼叫RequestDispatcher.forward 方法的請求轉發過程結束後,

瀏覽器位址列保持初始的URL地址不變。

HttpServletResponse.sendRedirect方法對瀏覽器的請求直接作出響應,響應的結果就是告訴瀏覽器去重新發出對另外一個URL的訪問請求;

RequestDispatcher.forward方法在伺服器端內部將請求轉發給另外一個資源,瀏覽器只知道發出了請求並得到了響應結果,並不知道在伺服器程式內部發生了轉發行為。

RequestDispatcher.forward方法的呼叫者與被呼叫者之間共享相同的request物件和response物件,它們屬於同一個訪問請求和響應過程;

而HttpServletResponse.sendRedirect方法呼叫者與被呼叫者使用各自的request物件和response物件,它們屬於兩個獨立的訪問請求和響應過程。