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物件,它們屬於兩個獨立的訪問請求和響應過程。