httpservletrequest

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

定義

public interface HttpServletRequest extends ServletRequest;

用來處理一個對Servlet的HTTP格式的請求信息。

方法

getAuthType

public String getAuthType();

返回這個請求的身份驗證模式。

getCookies

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代替。

相關詞條

相關搜尋

熱門詞條

聯絡我們