httpservletrequest

httpservletrequest

公共介面類HttpServletRequest繼承自ServletRequest。客戶端瀏覽器發出的請求被封裝成為一個HttpServletRequest對象。對象包含了客戶端請求信息包括請求的地址,請求的參數,提交的數據,上傳的文件客戶端的ip甚至客戶端操作系統都包含在其內。HttpServletResponse繼承了ServletResponse介面,並提供了與Http協議有關的方法,這些方法的主要功能是設置HTTP狀態碼和管理Cookie。

定義


public interface HttpServletRequest extends ServletRequest;
用來處理一個對Servlet的HTTP格式的請求信息。

方法


getAuthType
public String getAuthType();
返回這個請求的身份驗證模式。
public Cookie[] getCookies();
返回一個數組,該數組包含這個請求中當前的所有cookie。如果這個請求中沒有cookie,返回一個空數組。
getDateHeader
public long getDateHeader(String name);
返回指定的請求頭域的值,這個值被轉換成一個反映自1970-1-1日(GMT)以來的精確到毫秒的長整數。
如果頭域不能轉換,拋出一個IllegalArgumentException。如果這個請求頭域不存在,這個方法返回-1。
getHeader
public String getHeader(String name);
返回一個請求頭域的值。(譯者註:與上一個方法不同的是,該方法返回一個字元串
如果這個請求頭域不存在,這個方法返回-1。
getHeaderNames
public Enumeration getHeaderNames();
該方法返回一個String對象的列表,該列表反映請求的所有頭域名。
有的引擎可能不允許通過這種方法訪問頭域,在這種情況下,這個方法返回一個空的列表。
getIntHeader
public int getIntHeader(String name);
返回指定的請求頭域的值,這個值被轉換成一個整數。
如果頭域不能轉換,拋出一個IllegalArgumentException。如果這個請求頭域不存在,這個方法返回-1。
getMethod
public String getMethod();
返回這個請求使用的HTTP方法(例如:GET、POST、PUT)
getPathInfo
public String getPathInfo();
這個方法返回在這個請求的URL的Servlet路徑之後的請求URL的額外的路徑信息。如果這個請求URL包括一個查詢字元串,在返回值內將不包括這個查詢字元串。這個路徑在返回之前必須經過URL解碼。如果在這個請求的URL的Servlet路徑之後沒有路徑信息。這個方法返回空值。
getPathTranslated
public String getPathTranslated();
這個方法獲得這個請求的URL的Servlet路徑之後的額外的路徑信息,並將它轉換成一個真實的路徑。在進行轉換前,這個請求的URL必須經過URL解碼。如果在這個URL的Servlet路徑之後沒有附加路徑信息。這個方法返回空值。
getQueryString
public String getQueryString();
返回這個請求URL所包含的查詢字元串。一個查詢字串符在一個URL中由一個“?”引出。如果沒有查詢字元串,這個方法返回空值。
getRemoteUser
public String getRemoteUser
返回作了請求的用戶名,這個信息用來作HTTP用戶論證。
如果在請求中沒有用戶名信息,這個方法返回空值。
getRequestedSessionId
public String getRequestedSessionId();
返回這個請求相應的session id。如果由於某種原因客戶端提供的session id是無效的,這個session id將與在當前session中的session id不同,與此同時,將建立一個新的session。
如果這個請求沒與一個session關聯,這個方法返回空值。
getRequestURL
public String getRequestURL();
HTTP請求的第一行返回請求的URL中定義被請求的資源的部分。如果有一個查詢字元串存在,這個查詢字元串將不包括在返回值當中。例如,一個請求通過/catalog/books?id=1這樣的URL路徑訪問,這個方法將返回/catalog/books。這個方法的返回值包括了Servlet路徑和路徑信息。
如果這個URL路徑中的的一部分經過了URL編碼,這個方法的返回值在返回之前必須經過解碼。
getServletPath
public String getServletPath();
這個方法返回請求URL反映調用Servlet的部分。例如,一個Servlet被映射到/catalog/summer這個URL路徑,而一個請求使用了/catalog/summer/casual這樣的路徑。所謂的反映調用Servlet的部分就是指/catalog/summer。
如果這個Servlet不是通過路徑匹配來調用。這個方法將返回一個空值。
getSession
public HttpSession getSession();
public HttpSession getSession(boolean create);
返回與這個請求關聯的當前的有效的session。如果調用這個方法時沒帶參數,那麼在沒有session與這個請求關聯的情況下,將會新建一個session。如果調用這個方法時帶入了一個布爾型的參數,只有當這個參數為真時,session才會被建立。
為了確保session能夠被完全維持。Servlet開發者必須在響應被提交之前調用該方法。
如果帶入的參數為假,而且沒有session與這個請求關聯。這個方法會返回空值。
isRequestedSessionIdValid
public boolean isRequestedSessionIdValid();
這個方法檢查與此請求關聯的session當前是不是有效。如果當前請求中使用的session無效,它將不能通過getSession方法返回。
isRequestedSessionIdFromCookie
public boolean isRequestedSessionIdFromCookie();
如果這個請求的session id是通過客戶端的一個cookie提供的,該方法返回真,否則返回假。
isRequestedSessionIdFromURL
public boolean isRequestedSessionIdFromURL();
如果這個請求的session id是通過客戶端的URL的一部分提供的,該方法返回真,否則返回假。請注意此方法與isRequestedSessionIdFromUrl在URL的拼寫上不同。
以下方法將被取消
isRequestedSessionIdFromUrl
public boolean isRequestedSessionIdFromUrl();
該方法被isRequestedSessionIdFromURL代替。