javax.servlet.http API

軟件包:javax.servlet.http       所包含的接口:HttpServletRequest;HttpServletResponse;HttpSession;HttpSessionBindingListener;HttpSessionContext。      所包含的類:Cookie;HttpServlet;HttpSessionBindingEvent;HttpUtils。      1、HttpServletRequest接口      定義\      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關聯,這個方法返回空值。      1三、getRequestURI      public String getRequestURI();       從HTTP請求的第一行返回請求的URL中定義被請求的資源的部分。若是有一個查詢字符串存在,這個查詢字符串將不包括在返回值當中。例如,一個請求經過 /catalog/books?id=1這樣的URL路徑訪問,這個方法將返回/catalog/books。這個方法的返回值包括了Servlet路徑和路徑信息。      若是這個URL路徑中的的一部分通過了URL編碼,這個方法的返回值在返回以前必須通過解碼。      1四、getServletPath      public String getServletPath();       這個方法返回請求URL反映調用Servlet的部分。例如,一個Servlet被映射到/catalog/summer這個URL路徑,而一個請求使用了/catalog/summer/casual這樣的路徑。所謂的反映調用Servlet的部分就是指/catalog/summer。      若是這個Servlet不是經過路徑匹配來調用。這個方法將返回一個空值。      1五、getSession      public HttpSession getSession();      public HttpSession getSession(boolean create);      返回與這個請求關聯的當前的有效的session。若是調用這個方法時沒帶參數,那麼在沒有session與這個請求關聯的狀況下,將會新建一個session。若是調用這個方法時帶入了一個布爾型的參數,只有當這個參數爲真時,session纔會被創建。      爲了確保session可以被徹底維持。Servlet開發者必須在響應被提交以前調用該方法。      若是帶入的參數爲假,並且沒有session與這個請求關聯。這個方法會返回空值。      1六、isRequestedSessionIdValid      public boolean isRequestedSessionIdValid();      這個方法檢查與此請求關聯的session當前是否是有效。若是當前請求中使用的session無效,它將不能經過getSession方法返回。      1七、isRequestedSessionIdFromCookie      public boolean isRequestedSessionIdFromCookie();      若是這個請求的session id是經過客戶端的一個cookie提供的,該方法返回真,不然返回假。      1八、isRequestedSessionIdFromURL      public boolean isRequestedSessionIdFromURL();      若是這個請求的session id是經過客戶端的URL的一部分提供的,該方法返回真,不然返回假。請注意此方法與isRequestedSessionIdFromUrl在URL的拼寫上不一樣。      如下方法將被取消\\r      1九、isRequestedSessionIdFromUrl      public boolean isRequestedSessionIdFromUrl();      該方法被isRequestedSessionIdFromURL代替。      2、HttpServletResponse接口      定義\\r      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定義的。      方法      一、addCookie      public void addCookie(Cookie cookie);      在響應中增長一個指定的cookie。可屢次調用該方法以定義多個cookie。爲了設置適當的頭域,該方法應該在響應被提交以前調用。      二、containsHeader      public boolean containsHeader(String name);      檢查是否設置了指定的響應頭。      三、encodeRedirectURL      public String encodeRedirectURL(String url);      對sendRedirect方法使用的指定URL進行編碼。若是不須要編碼,就直接返回這個URL。之因此提供這個附加的編碼方法,是由於在redirect的狀況下,決定是否對URL進行編碼的規則和通常狀況有所不一樣。所給的URL必須是一個絕對URL。相對URL不能被接收,會拋出一個IllegalArgumentException。      全部提供給sendRedirect方法的URL都應經過這個方法運行,這樣才能確保會話跟蹤可以在全部瀏覽器中正常運行。      四、encodeURL      public String encodeURL(String url);       對包含session ID的URL進行編碼。若是不須要編碼,就直接返回這個URL。Servlet引擎必須提供URL編碼方法,由於在有些狀況下,咱們將不得不重寫URL,例如,在響應對應的請求中包含一個有效的session,可是這個session不能被非URL的(例如cookie)的手段來維持。      全部提供給Servlet的URL都應經過這個方法運行,這樣才能確保會話跟蹤可以在全部瀏覽器中正常運行。      五、sendError      public void sendError(int statusCode) throws IOException;      public void sendError(int statusCode, String message) throws         IOException;      用給定的狀態碼發給客戶端一個錯誤響應。若是提供了一個message參數,這將做爲響應體的一部分被髮出,不然,服務器會返回錯誤代碼所對應的標準信息。      調用這個方法後,響應當即被提交。在調用這個方法後,Servlet不會再有更多的輸出。      六、sendRedirect      public void sendRedirect(String location) throws IOException;      使用給定的路徑,給客戶端發出一個臨時轉向的響應(SC_MOVED_TEMPORARILY)。給定的路徑必須是絕對URL。相對URL將不能被接收,會拋出一個IllegalArgumentException。      這個方法必須在響應被提交以前調用。調用這個方法後,響應當即被提交。在調用這個方法後,Servlet不會再有更多的輸出。      七、setDateHeader      public void setDateHeader(String name, long date);      用一個給定的名稱和日期值設置響應頭,這裏的日期值應該是反映自1970-1-1日(GMT)以來的精確到毫秒的長整數。若是響應頭已經被設置,新的值將覆蓋當前的值。      八、setHeader      public void setHeader(String name, String value);      用一個給定的名稱和域設置響應頭。若是響應頭已經被設置,新的值將覆蓋當前的值。      九、setIntHeader      public void setIntHeader(String name, int value);      用一個給定的名稱和×××值設置響應頭。若是響應頭已經被設置,新的值將覆蓋當前的值。      十、setStatus      public void setStatus(int statusCode);      這個方法設置了響應的狀態碼,若是狀態碼已經被設置,新的值將覆蓋當前的值。      如下的幾個方法將被取消\      十一、encodeRedirectUrl      public String encodeRedirectUrl(String url);      該方法被encodeRedirectURL取代。       十二、encodeUrl      public String encodeUrl(String url);      該方法被encodeURL取代。       1三、setStatus      public void setStatus(int statusCode, String message);      這個方法設置了響應的狀態碼,若是狀態碼已經被設置,新的值將覆蓋當前的值。若是提供了一個message,它也將會被做爲響應體的一部分被髮送。      3、HttpSession接口      定義\      public interface HttpSession      這個接口被Servlet引擎用來實如今HTTP客戶端和HTTP會話二者的關聯。這種關聯可能在多外鏈接和請求中持續一段給定的時間。session用來在無狀態的HTTP協議下越過多個請求頁面來維持狀態和識別用戶。      一個session能夠經過cookie或重寫URL來維持。      方法      一、getCreationTime      public long getCreationTime();      返回創建session的時間,這個時間表示爲自1970-1-1日(GMT)以來的毫秒數。       二、getId      public String getId();      返回分配給這個session的標識符。一個HTTP session的標識符是一個由服務器來創建和維持的惟一的字符串。      三、getLastAccessedTime      public long getLastAccessedTime();      返回客戶端最後一次發出與這個session有關的請求的時間,若是這個session是新創建的,返回-1。這個時間表示爲自1970-1-1日(GMT)以來的毫秒數。       四、getMaxInactiveInterval      public int getMaxInactiveInterval();      返加一個秒數,這個秒數表示客戶端在不發出請求時,session被Servlet引擎維持的最長時間。在這個時間以後,Servlet引擎可能被Servlet引擎終止。若是這個session不會被終止,這個方法返回-1。      當session無效後再調用這個方法會拋出一個IllegalStateException。      五、getValue      public Object getValue(String name);      返回一個以給定的名字綁定到session上的對象。若是不存在這樣的綁定,返回空值。      當session無效後再調用這個方法會拋出一個IllegalStateException。      六、getValueNames      public String[] getValueNames();      以一個數組返回綁定到session上的全部數據的名稱。      當session無效後再調用這個方法會拋出一個IllegalStateException。      七、invalidate      public void invalidate();      這個方法會終止這個session。全部綁定在這個session上的數據都會被清除。並經過HttpSessionBindingListener接口的valueUnbound方法發出通告。      八、isNew      public boolean isNew();       返回一個布爾值以判斷這個session是否是新的。若是一個session已經被服務器創建可是尚未收到相應的客戶端的請求,這個session將被認爲是新的。這意味着,這個客戶端尚未加入會話或沒有被會話公認。在他發出下一個請求時還不能返回適當的session認證信息。      當session無效後再調用這個方法會拋出一個IllegalStateException。      九、putValue      public void putValue(String name, Object value);      以給定的名字,綁定給定的對象到session中。已存在的同名的綁定會被重置。這時會調用HttpSessionBindingListener接口的valueBound方法。      當session無效後再調用這個方法會拋出一個IllegalStateException。      十、removeValue      public void removeValue(String name);      取消給定名字的對象在session上的綁定。若是未找到給定名字的綁定的對象,這個方法什麼出不作。 這時會調用HttpSessionBindingListener接口的valueUnbound方法。      當session無效後再調用這個方法會拋出一個IllegalStateException。      十一、setMaxInactiveInterval      public int setMaxInactiveInterval(int interval);      設置一個秒數,這個秒數表示客戶端在不發出請求時,session被Servlet引擎維持的最長時間。      如下這個方法將被取消\      十二、getSessionContext      public HttpSessionContext getSessionContext();      返回session在其中得以保持的環境變量。這個方法和其餘全部HttpSessionContext的方法同樣被取消了。      4、HttpSessionBindingListener接口      定義\      public interface HttpSessionBindingListener      這個對象被加入到HTTP的session中,執行這個接口會通告有沒有什麼對象被綁定到這個HTTP session中或被從這個HTTP session中取消綁定。      方法      一、valueBound      public void valueBound(HttpSessionBindingEvent event);      當一個對象被綁定到session中,調用此方法。HttpSession.putValue方法被調用時,Servlet引擎應該調用此方法。      二、valueUnbound      public void valueUnbound(HttpSessionBindingEvent event);      當一個對象被從session中取消綁定,調用此方法。HttpSession.removeValue方法被調用時,Servlet引擎應該調用此方法。      5、HttpSessionContext接口      定義\      此接口將被取消\      public interface HttpSessionContext      這個對象是與一組HTTP session關聯的單一的實體。      這個接口因爲安全的緣由被取消,它出如今目前的版本中僅僅是爲了兼容性的緣由。這個接口的方法將模擬之前的版本的定義返回相應的值。      方法      一、getSession      public HttpSession getSession(String sessionId);      當初用來返回與這個session id相關的session。如今返回空值。      二、getIds      public Enumeration getIds();      當初用來返回這個環境下全部session id的列表。如今返回空的列表。      6、Cookie類\      定義\      public class Cookie implements Cloneable      這個類描述了一個cookie,有關cookie的定義你能夠參照Netscape Communications Corporation的說明,也能夠參照RFC 2109。      構造函數      public Cookie(String name, String value);      用一個name-value對定義一個cookie。這個name必須能被HTTP/1.1所接受。      以字符$開頭的name被RFC 2109保留。      給定的name若是不能被HTTP/1.1所接受,該方法拋出一個IllegalArgumentException。      方法      一、getComment      public String getComment();      返回描述這個cookie目的的說明,若是未定義這個說明,返回空值。      二、getDomain      public String getDomain();      返回這個cookie能夠出現的區域,若是未定義區域,返回空值。      三、getMaxAge      public int getMaxAge();      這個方法返回這個cookie指定的最長存活時期。若是未定義這個最長存活時期,該方法返回-1。      四、getName      public String getName();      該方法返回cookie名。      五、getPath      public String getPath();      返回這個cookie有效的全部URL路徑的前綴,若是未定義,返回空值。      六、getSecure      public boolean getSecure();      若是這個cookie只經過安全通道傳輸返回真,不然返回假。      七、getValue      public String getValue();      該方法返回cookie的值。      八、getVersion      public int getVersion();      返回cookie的版本。版本1由RFC 2109解釋。版本0由Netscape Communications Corporation的說明解釋。新構造的cookie默認使用版本0。      九、setComment      public void setComment(String purpose);      若是一個用戶將這個cookie提交給另外一個用戶,必須經過這個說明描述這個cookie的目的。版本0不支持這個屬性。      十、setDomain      public void setDomain(String pattern);      這個方法設置cookie的有效域的屬性。這個屬性指定了cookie能夠出現的區域。一個有效域以一個點開頭(.foo.com),這意味着在指定的域名解析系統的區域中(多是 [url]www.foo.com[/url]但不是a.b.foo.com)的主機能夠看到這個cookie。默認狀況是,cookie只能返回保存它的主機。      十一、setMaxAge      public void setMaxAge(int expiry);      這個方法設定這個cookie的最長存活時期。在該存活時期以後,cookie會被終目。負數表示這個cookie不會生效,0將從客戶端刪除這個cookie。         十二、setPath      public void setPath(String uri);      這個方法設置cookie的路徑屬性。客戶端只能向以這個給定的路徑String開頭的路徑返回cookie。      1三、setSecure      public void setSecure(boolean flag);      指出這個cookie只能經過安全通道(例如HTTPS)發送。只有當產生這個cookie的服務器使用安全協議發送這個cookie值時才能這樣設置。      1四、setValue      public void setValue(String newValue);      設置這個cookie的值,對於二進制數據採用BASE64編碼。      版本0不能使用空格、{}、()、=、,、「」、/、?、@、:以及;。      1五、setVersion      public void setVersion(int v);      設置cookie的版本號      7、HttpServlet類\      定義\      public class HttpServlet extends GenericServlet implements          Serializable      這是一個抽象類,用來簡化HTTP Servlet寫做的過程。它是GenericServlet類的擴充,提供了一個處理HTTP協議的框架。      在這個類中的service方法支持例如GET、POST這樣的標準的HTTP方法。這一支持過程是經過分配他們到適當的方法(例如doGet、doPost)來實現的。      方法      一、doDelete      protected void doDelete(HttpServletRequest request,            HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP DELETE操做。這個操做容許客戶端請求從服務器上刪除URL。這一操做可能有負面影響,對此用戶就負起責任。      這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。當你要處理DELETE請求時,你必須重載這一方法。      二、doGet      protected void doGet(HttpServletRequest request,             HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP GET操做。這個操做容許客戶端簡單地從一個HTTP服務器「得到」資源。對這個方法的重載將自動地支持HEAD方法。      GET操做應該是安全並且沒有負面影響的。這個操做也應該能夠安全地重複。      這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。      三、doHead      protected void doHead(HttpServletRequest request,            HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP HEAD操做。默認的狀況是,這個操做會按照一個無條件的GET方法來執行,該操做不向客戶端返回任何數據,而僅僅是返回包含內容長度的頭信息。      與GET操做同樣,這個操做應該是安全並且沒有負面影響的。這個操做也應該能夠安全地重複。      這個方法的默認執行結果是自動處理HTTP HEAD操做,這個方法不須要被一個子類執行。       四、doOptions      protected void doOptions(HttpServletRequest request,            HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP OPTION操做。這個操做自動地決定支持哪種HTTP方法。例如,一個Servlet寫了一個HttpServlet的子類並重載了doGet方法,doOption會返回下面的頭:      Allow: GET,HEAD,TRACE,OPTIONS      你通常不須要重載這個方法。      五、doPost      protected void doPost(HttpServletRequest request,            HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP POST操做。這個操做包含請求體的數據,Servlet應該按照他行事。      這個操做可能有負面影響。例如更新存儲的數據或在線購物。      這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。當你要處理POST操做時,你必須在HttpServlet的子類中重載這一方法。      六、doPut      protected void doPut(HttpServletRequest request,             HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP PUT操做。這個操做相似於經過FTP發送文件。      這個操做可能有負面影響。例如更新存儲的數據或在線購物。      這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。當你要處理PUT操做時,你必須在HttpServlet的子類中重載這一方法。      七、doTrace      protected void doTrace(HttpServletRequest request,            HttpServletResponse response) throws ServletException,            IOException;      被這個類的service方法調用,用來處理一個HTTP TRACE操做。這個操做的默認執行結果是產生一個響應,這個響應包含一個反映trace請求中發送的全部頭域的信息。      當你開發Servlet時,在多數狀況下你須要重載這個方法。      八、getLastModified      protected long getLastModified(HttpServletRequest request);      返回這個請求實體的最後修改時間。爲了支持GET操做,你必須重載這一方法,以精確地反映最後修改的時間。這將有助於瀏覽器和代理服務器減小裝載服務器和網絡資源,從而更加有效地工做。返回的數值是自1970-1-1日(GMT)以來的毫秒數。 默認的執行結果是返回一個負數,這標誌着最後修改時間未知,它也不能被一個有條件的GET操做使用。      九、service      protected void service(HttpServletRequest request,            HttpServletResponse response) throws ServletException,            IOException;      public void service(ServletRequest request, ServletResponse response)            throws ServletException, IOException;      這是一個Servlet的HTTP-specific方案,它分配請求到這個類的支持這個請求的其餘方法。      當你開發Servlet時,在多數狀況下你沒必要重載這個方法。      8、HttpSessionBindingEvent類\      定義\      public class HttpSessionBindingEvent extends EventObject      這個事件是在監聽到HttpSession發生綁定和取消綁定的狀況時連通HttpSessionBindingListener的。這多是一個session被終止或被認定無效的結果。      事件源是HttpSession.putValue或HttpSession.removeValue。      構造函數      public HttpSessionBindingEvent(HttpSession session, String name);      經過引發這個事件的Session和發生綁定或取消綁定的對象名構造一個新的HttpSessionBindingEvent。      方法      一、getName      public String getName();      返回發生綁定和取消綁定的對象的名字。      二、getSession      public HttpSession getSession();      返回發生綁定和取消綁定的session的名字。         9、HttpUtils類\      定義\      public class HttpUtils      收集HTTP Servlet使用的靜態的有效的方法。      方法      一、getRequestURL      public static StringBuffer getRequestURL(HttpServletRequest            request);      在服務器上重建客戶端用來創建請求的URL。這個方法反映了不一樣的協議(例如http和https)和端口,但不包含查詢字符串。      這個方法返回一個StringBuffer而不是一個String,這樣URL能夠被Servlet開發者有效地修改。      二、parsePostData      public static Hashtable parsePostData(int len,             ServletInputstream in);       解析一個包含MIME類型application/x-www-form-urlencoded的數據的流,並建立一個具備關鍵值-數據對的 hash table。這裏的關鍵值是字符串,數據是該字符串所對應的值的列表。一個關鍵值能夠在POST的數據中出現一次或屢次。這個關鍵值每出現一次,它的相應的值就被加入到hash table中的字符串所對應的值的列表中。      從POST數據讀出的數據將通過URL解碼,+將被轉換爲空格以十六進制傳送的數據(例如%xx)將被轉換成字符。      當POST數據無效時,該方法拋出一個IllegalArgumentException。      三、parseQueryString      public static Hashtable parseQueryString(String s);      解析一個查詢字符串,並建立一個具備關鍵值-數據對的hash table。這裏的數據是該字符串所對應的值的列表。一個關鍵值能夠出現一次或屢次。這個關鍵值每出現一次,它的相應的值就被加入到hash table中的字符串所對應的值的列表中。      從查詢字符串讀出的數據將通過URL解碼,+將被轉換爲空格以十六進制傳送的數據(例如%xx)將被轉換成字符。      當查詢字符串無效時,該方法拋出一個IllegalArgumentException。

相關文章
相關標籤/搜索