HttpServletRequest對象代表客戶端的請求,當客戶端通過HTTP協議訪問服務器時,HTTP請求頭中的所有信息都封裝在這個對象中,開發人員通過這個對象的方法,可以獲得客戶這些信息。
轉自:https://jingyan.baidu.com/article/c85b7a6407f1dd003bac95d2.html
HttpServletRequest常用方法
獲得客戶機信息
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對象,它們屬於兩個獨立的訪問請求和響應過程。