歡迎您光臨本站 註冊首頁

Java Servlet API中文說明文檔二(1)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  一、HttpServletRequest介面

  定義

  public interface HttpServletRequest extends ServletRequest;

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

  方法

  1、getAuthType

  public String getAuthType();

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

  2、getCookies

  public Cookie[] getCookies();

  返回一個數組,該數組包含這個請求中當前的所有cookie.如果這個請求中沒有cookie,返回一個空數組.

  3、getDateHeader

  public long getDateHeader(String name);

  返回指定的請求頭域的值,這個值被轉換成一個反映自1970-1-1日(GMT)以來的精確到毫秒的長整數.

  如果頭域不能轉換,拋出一個IllegalArgumentException.如果這個請求頭域不存在,這個方法返回-1.

  4、getHeader

  public String getHeader(String name);

  返回一個請求頭域的值.(譯者註:與上一個方法不同的是,該方法返回一個字元串)

  如果這個請求頭域不存在,這個方法返回-1.

  5、getHeaderNames

  public Enumeration getHeaderNames();

  該方法返回一個String對象的列表,該列表反映請求的所有頭域名.

  有的引擎可能不允許通過這種方法訪問頭域,在這種情況下,這個方法返回一個空的列表.

  6、getIntHeader

  public int getIntHeader(String name);

  返回指定的請求頭域的值,這個值被轉換成一個整數.

  如果頭域不能轉換,拋出一個IllegalArgumentException.如果這個請求頭域不存在,這個方法返回-1.

  7、getMethod

  public String getMethod();

  返回這個請求使用的HTTP方法(例如:GET、POST、PUT)

  8、getPathInfo

  public String getPathInfo();

  這個方法返回在這個請求的URL的Servlet路徑之後的請求URL的額外的路徑信息.如果這個請求URL包括一個查詢字元串,在返回值內將不包括這個查詢字元串.這個路徑在返回之前必須經過URL解碼.如果在這個請求的URL的Servlet路徑之後沒有路徑信息.這個方法返回空值.

  9、getPathTranslated

  public String getPathTranslated();

  這個方法獲得這個請求的URL的Servlet路徑之後的額外的路徑信息,並將它轉換成一個真實的路徑.在進行轉換前,這個請求的URL必須經過URL解碼.如果在這個URL的Servlet路徑之後沒有附加路徑信息.這個方法返回空值.

  10、getQueryString

  public String getQueryString();

  返回這個請求URL所包含的查詢字元串.一個查詢字串符在一個URL中由一個「?」引出.如果沒有查詢字元串,這個方法返回空值.

  11、getRemoteUser

  public String getRemoteUser

  返回作了請求的用戶名,這個信息用來作HTTP用戶論證.

  如果在請求中沒有用戶名信息,這個方法返回空值.

  12、getRequestedSessionId

  public String getRequestedSessionId();

  返回這個請求相應的session id.如果由於某種原因客戶端提供的session id是無效的,這個session id將與在當前session中的session id不同,與此同時,將建立一個新的session.

  如果這個請求沒與一個session關聯,這個方法返回空值.

  13、getRequestURI

  public String getRequestURI();

  從HTTP請求的第一行返回請求的URL中定義被請求的資源的部分.如果有一個查詢字元串存在,這個查詢字元串將不包括在返回值當中.例如,一個請求通過 /catalog/books?id=1這樣的URL路徑訪問,這個方法將返回/catalog/books.這個方法的返回值包括了Servlet路徑和路徑信息.

  如果這個URL路徑中的的一部分經過了URL編碼,這個方法的返回值在返回之前必須經過解碼.

  14、getServletPath

  public String getServletPath();

  這個方法返回請求URL反映調用Servlet的部分.例如,一個Servlet被映射到/catalog/summer這個URL路徑,而一個請求使用了/catalog/summer/casual這樣的路徑.所謂的反映調用Servlet的部分就是指/catalog/summer.

  如果這個Servlet不是通過路徑匹配來調用.這個方法將返回一個空值.

  15、getSession

  public HttpSession getSession();

  public HttpSession getSession(boolean create);

  返回與這個請求關聯的當前的有效的session.如果調用這個方法時沒帶參數,那麼在沒有session與這個請求關聯的情況下,將會新建一個session.如果調用這個方法時帶入了一個布爾型的參數,只有當這個參數為真時,session才會被建立.

  為了確保session能夠被完全維持.Servlet開發者必須在響應被提交之前調用該方法.

  如果帶入的參數為假,沒有session與這個請求關聯.這個方法會返回空值.

  16、isRequestedSessionIdValid

  public boolean isRequestedSessionIdValid();

  這個方法檢查與此請求關聯的session當前是不是有效.如果當前請求中使用的session無效,它將不能通過getSession方法返回.

  17、isRequestedSessionIdFromCookie

  public boolean isRequestedSessionIdFromCookie();

  如果這個請求的session id是通過客戶端的一個cookie提供的,該方法返回真,否則返回假.

  18、isRequestedSessionIdFromURL

  public boolean isRequestedSessionIdFromURL();

  如果這個請求的session id是通過客戶端的URL的一部分提供的,該方法返回真,否則返回假.請注意此方法與isRequestedSessionIdFromUrl在URL的拼寫上不同.

  以下方法將被取消

  19、isRequestedSessionIdFromUrl

  public boolean isRequestedSessionIdFromUrl();

  該方法被isRequestedSessionIdFromURL代替.

  二、HttpServletResponse介面

  定義

  public interface HttpServletResponse extends ServletResponse

  描述一個返回到客戶端的HTTP回應.這個介面允許Servlet程序員利用HTTP協議規定的頭信息.

  成員變數

  public static final int SC_CONTINUE = 100;

  public static final int SC_SWITCHING_PROTOCOLS = 101;

  public static final int SC_OK = 200;

  public static final int SC_CREATED = 201;

  public static final int SC_ACCEPTED = 202;

  public static final int SC_NON_AUTHORITATIVE_INFORMATION = 203;

  public static final int SC_NO_CONTENT = 204;

  public static final int SC_RESET_CONTENT = 205;

  public static final int SC_PARTIAL_CONTENT = 206;

  public static final int SC_MULTIPLE_CHOICES = 300;

  public static final int SC_MOVED_PERMANENTLY = 301;

  public static final int SC_MOVED_TEMPORARILY = 302;

  public static final int SC_SEE_OTHER = 303;

  public static final int SC_NOT_MODIFIED = 304;

  public static final int SC_USE_PROXY = 305;

  public static final int SC_BAD_REQUEST = 400;

  public static final int SC_UNAUTHORIZED = 401;

  public static final int SC_PAYMENT_REQUIRED = 402;

  public static final int SC_FORBIDDEN = 403;

  public static final int SC_NOT_FOUND = 404;

  public static final int SC_METHOD_NOT_ALLOWED = 405;

  public static final int SC_NOT_ACCEPTABLE = 406;

  public static final int SC_PROXY_AUTHENTICATION_REQUIRED = 407;

  public static final int SC_REQUEST_TIMEOUT = 408;

  public static final int SC_CONFLICT = 409;

  public static final int SC_GONE = 410;

  public static final int SC_LENGTH_REQUIRED = 411;

  public static final int SC_PRECONDITION_FAILED = 412;

  public static final int SC_REQUEST_ENTITY_TOO_LARGE = 413;

  public static final int SC_REQUEST_URI_TOO_LONG = 414;

  public static final int SC_UNSUPPORTED_MEDIA_TYPE = 415;

  public static final int SC_INTERNAL_SERVER_ERROR = 500;

  public static final int SC_NOT_IMPLEMENTED = 501;

  public static final int SC_BAD_GATEWAY = 502;

  public static final int SC_SERVICE_UNAVAILABLE = 503;

  public static final int SC_GATEWAY_TIMEOUT = 504;

  public static final int SC_HTTP_VERSION_NOT_SUPPORTED = 505;

  以上HTTP產狀態碼是由HTTP/1.1定義的.

  方法

  1、addCookie

  public void addCookie(Cookie cookie);

  在響應中增加一個指定的cookie.可多次調用該方法以定義多個cookie.為了設置適當的頭域,該方法應該在響應被提交之前調用.

  2、containsHeader

  public boolean containsHeader(String name);

  檢查是否設置了指定的響應頭.

  3、encodeRedirectURL

  public String encodeRedirectURL(String url);

  對sendRedirect方法使用的指定URL進行編碼.如果不需要編碼,就直接返回這個URL.之提供這個附加的編碼方法,是在 redirect的情況下,決定是否對URL進行編碼的規則和一般情況有所不同.所給的URL必須是一個絕對URL.相對URL不能被接收,會拋出一個 IllegalArgumentException.

  所有提供給sendRedirect方法的URL都應通過這個方法運行,這樣才能確保會話跟蹤能夠在所有瀏覽器中正常運行.

  4、encodeURL

  public String encodeURL(String url);

  對包含session ID的URL進行編碼.如果不需要編碼,就直接返回這個URL.Servlet引擎必須提供URL編碼方法,在有些情況下,我們將不得不重寫URL,例如,在響應對應的請求中包含一個有效的session,但是這個session不能被非URL的(例如cookie)的手段來維持.

  所有提供給Servlet的URL都應通過這個方法運行,這樣才能確保會話跟蹤能夠在所有瀏覽器中正常運行.

  5、sendError

  public void sendError(int statusCode) throws IOException;

  public void sendError(int statusCode, String message) throws

  IOException;

  用給定的狀態碼發給客戶端一個錯誤響應.如果提供了一個message參數,這將作為響應體的一部分被發出,否則,伺服器會返回錯誤代碼所對應的標準信息.

  調用這個方法后,響應立即被提交.在調用這個方法后,Servlet不會再有更多的輸出.

  6、sendRedirect

  public void sendRedirect(String location) throws IOException;

  使用給定的路徑,給客戶端發出一個臨時轉向的響應(SC_MOVED_TEMPORARILY).給定的路徑必須是絕對URL.相對URL將不能被接收,會拋出一個IllegalArgumentException.

  這個方法必須在響應被提交之前調用.調用這個方法后,響應立即被提交.在調用這個方法后,Servlet不會再有更多的輸出.

  7、setDateHeader

  public void setDateHeader(String name, long date);

  用一個給定的名稱和日期值設置響應頭,這裡的日期值應該是反映自1970-1-1日(GMT)以來的精確到毫秒的長整數.如果響應頭已經被設置,新的值將覆蓋當前的值.

  8、setHeader

  public void setHeader(String name, String value);

  用一個給定的名稱和域設置響應頭.如果響應頭已經被設置,新的值將覆蓋當前的值.

  9、setIntHeader

  public void setIntHeader(String name, int value);

  用一個給定的名稱和整形值設置響應頭.如果響應頭已經被設置,新的值將覆蓋當前的值.

  10、setStatus

  public void setStatus(int statusCode);

  這個方法設置了響應的狀態碼,如果狀態碼已經被設置,新的值將覆蓋當前的值.

  以下的幾個方法將被取消

  11、encodeRedirectUrl

  public String encodeRedirectUrl(String url);

  該方法被encodeRedirectURL取代.

  12、encodeUrl

  public String encodeUrl(String url);

  該方法被encodeURL取代.

  13、setStatus

  public void setStatus(int statusCode, String message);

  這個方法設置了響應的狀態碼,如果狀態碼已經被設置,新的值將覆蓋當前的值.如果提供了一個message,它也將會被作為響應體的一部分被發送.

  三、HttpSession介面

  定義

  public interface HttpSession

  這個介面被Servlet引擎用來實現在HTTP客戶端和HTTP會話兩者的關聯.這種關聯可能在多外連接和請求中持續一段給定的時間.session用來在無狀態的HTTP協議下越過多個請求頁面來維持狀態和識別用戶.

  一個session可以通過cookie或重寫URL來維持.

  方法

  1、getCreationTime

  public long getCreationTime();

  返回建立session的時間,這個時間表示為自1970-1-1日(GMT)以來的毫秒數.

  2、getId

  public String getId();

  返回分配給這個session的標識符.一個HTTP session的標識符是一個由伺服器來建立和維持的唯一的字元串.

  3、getLastAccessedTime

  public long getLastAccessedTime();

  返回客戶端一次發出與這個session有關的請求的時間,如果這個session是新建立的,返回-1.這個時間表示為自1970-1-1日(GMT)以來的毫秒數.

  4、getMaxInactiveInterval

  public int getMaxInactiveInterval();

  返加一個秒數,這個秒數表示客戶端在不發出請求時,session被Servlet引擎維持的最長時間.在這個時間之後,Servlet引擎可能被Servlet引擎終止.如果這個session不會被終止,這個方法返回-1.

  當session無效后再調用這個方法會拋出一個IllegalStateException.

  5、getValue

  public Object getValue(String name);

  返回一個以給定的名字綁定到session上的對象.如果不存在這樣的綁定,返回空值.

  當session無效后再調用這個方法會拋出一個IllegalStateException.

  6、getValueNames

  public String[] getValueNames();

  以一個數組返回綁定到session上的所有數據的名稱.

  當session無效后再調用這個方法會拋出一個IllegalStateException.

  7、invalidate

  public void invalidate();

  這個方法會終止這個session.所有綁定在這個session上的數據都會被清除.並通過HttpSessionBindingListener介面的valueUnbound方法發出通告.

  8、isNew

  public boolean isNew();

  返回一個布爾值以判斷這個session是不是新的.如果一個session已經被伺服器建立但是還沒有收到相應的客戶端的請求,這個session將被認為是新的.這意味著,這個客戶端還沒有加入會話或沒有被會話公認.在他發出下一個請求時還不能返回適當的session認證信息.

  當session無效后再調用這個方法會拋出一個IllegalStateException.

  9、putValue

  public void putValue(String name, Object value);

  以給定的名字,綁定給定的對象到session中.已存在的同名的綁定會被重置.這時會調用HttpSessionBindingListener介面的valueBound方法.

  當session無效后再調用這個方法會拋出一個IllegalStateException.

  10、removeValue

  public void removeValue(String name);

  取消給定名字的對象在session上的綁定.如果未找到給定名字的綁定的對象,這個方法什麼出不做. 這時會調用HttpSessionBindingListener介面的valueUnbound方法.

  當session無效后再調用這個方法會拋出一個IllegalStateException.


[火星人 ] Java Servlet API中文說明文檔二(1)已經有593次圍觀

http://coctec.com/docs/java/show-post-60667.html