Java Servlet 中文API

                     Java Servlet 中文API

Java Servlet API的組成
Java Servlet API由兩個軟件包組成:一個是對應HTTP的軟件包,另一個是不對應HTTP的通用的軟件包。這兩個軟件包的同時存在使得Java Servlet API能夠適應將來的其他請求-響應的協議。
這份文檔以及剛纔提及的Javadoc格式的文檔都描述了這兩個軟件包,Javadoc格式的文檔還描述了你應該如何使用這兩個軟件包中的所有方法。
有關Java Servlets
JavaTM servlets是一個不受平臺約束的Java小程序,它可以被用來通過多種方法擴充一個Web服務器的功能。你可以把Servlet理解成Server上的applets,它被編譯成字節碼,這樣它就可以被動態地載入並用效地擴展主機的處理能力。
Servlet與applets不同的地方是,它不運行在Web瀏覽器或其他圖形化的用戶界面上。Servlet通過servlet引擎運行在Web服務器中,以執行請求和響應,請求、響應的典型範例是HTTP協議。
一個客戶端程序,可以是一個Web瀏覽器,或者是非其他的可以連接上Internet的程序,它會訪問Web服務器併發出請求。這個請求被運行在Web服務器上的Servlet引擎處理,並返回響應到Servlet。Servlet通過HTTP將這個響應轉發到客戶端。
在功能上,Servlet與CGI、NSAPI有點類似,但是,與他們不同的是:Servlet具有平臺無關性。
API對象的說明
這一部分包含了對Java Servlet API的全部類和接口的詳細說明。這個說明與Javadoc API差不多,但是這份文檔提供了更多的信息。
API包含了兩個軟件包,十二個接口和九個類。軟件包:javax.servlet
所包含的接口:RequestDispatcher;Servlet;ServletConfig;ServletContext;ServletRequest;ServletResponse;SingleThreadModel。
所包含的類:GenericServlet;ServletInputStream;ServletOutputStream;ServletException;UnavailableException。
一、RequestDispatcher接口
定義:
public interface RequestDispatcher;
定義一個對象,從客戶端接收請求,然後將它發給服務器的可用資源(例如Servlet、CGI、HTML文件、JSP文件)。Servlet引擎創建request dispatcher對象,用於封裝由一個特定的URL定義的服務器資源。
這個接口是專用於封裝Servlet的,但是一個Servlet引擎可以創建request dispatcher對象用於封裝任何類型的資源。
request dispatcher對象是由Servlet引擎建立的,而不是由Servlet開發者建立的。
方法
1、forward

public void forward(ServletRequest request, ServletReponse response)
throws ServletException, IOException;
被用來從這個Servlet向其它服務器資源傳遞請求。當一個Servlet對響應作了初步的處理,並要求其它的對象對此作出響應時,可以使用這個方法。當request對象被傳遞到目標對象時,請求的URL路徑和其他路徑參數會被調整爲反映目標對象的目標URL路徑。如果已經通過響應返回了一個ServletOutputStream對象或PrintWriter對象,這個方法將不能使用,否則,這個方法會拋出一個IllegalStateException。
2、include
public void include(ServletRequest request, ServletResponse response)
throws ServletException, IOException
用來包括髮送給其他服務器資源的響應的內容。本質上來說,這個方法反映了服務器端的內容。請求對象傳到目標對象後會反映調用請求的請求URL路徑和路徑信息。這個響應對象只能調用這個Servlet的ServletOutputStream對象和PrintWriter對象。一個調用include的Servlet不能設置頭域,如果這個Servlet調用了必須設置頭域的方法(例如cookie),這個方法將不能保證正常使用。作爲一個Servlet開發者,你必須妥善地解決那些可能直接存儲頭域的方法。例如,即使你使用會話跟蹤,爲了保證session的正常工作,你必須在一個調用include的Servlet之外開始你的session
二、Servlet接口
定義

public interface Servlet
這個接口定義了一個Servlet:一個在Web服務器上繼承了這個功能的Java類。
方法
1、init
public void init(ServletConfig config) throws ServletException;
Servlet引擎會在Servlet實例化之後,置入服務之前精確地調用init方法。在調用service方法之前,init方法必須成功退出。如果init方法拋出一個ServletException,你不能將這個Servlet置入服務中,如果init方法在超時範圍內沒完成,我們也可以假定這個Servlet是不具備功能的,也不能置入服務中。
2、service
public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException;
Servlet引擎調用這個方法以允許Servlet響應請求。這個方法在Servlet未成功初始化之前無法調用。在Servlet被初始化之前,Servlet引擎能夠封鎖未決的請求。在一個Servlet對象被卸載後,直到一個新的Servelt被初始化,Servlet引擎不能調用這個方法
3、destroy
public void destroy();
當一個Servlet被從服務中去除時,Servlet引擎調用這個方法。在這個對象的service方法所有線程未全部退出或者沒被引擎認爲發生超時操作時,destroy方法不能被調用。
4、getServletConfig
public ServletConfig getServletConfig();
返回一個ServletConfig對象,作爲一個Servlet的開發者,你應該通過init方法存儲ServletConfig對象以便這個方法能返回這個對象。爲了你的便利,GenericServlet在執行這個接口時,已經這樣做了。
5、getServletInfo
public String getServletInfo();
允許Servlet向主機的Servlet運行者提供有關它本身的信息。返回的字符串應該是純文本格式而不應有任何標誌(例如HTML,XML等)。
三、ServletConfig接口
定義
public interface ServletConfig
這個接口定義了一個對象,通過這個對象,Servlet引擎配置一個Servlet並且允許Servlet獲得一個有關它的ServletContext接口的說明。每一個ServletConfig對象對應着一個唯一的Servlet。
方法
1、getInitParameter

public String getInitParameter(String name);
這個方法返回一個包含Servlet指定的初始化參數的String。如果這個參數不存在,返加空值。
2、getInitParameterNames
public Enumeration getInitParameterNames();
這個方法返回一個列表String對象,該對象包括Servlet的所有初始化參數名。如果Servlet沒有初始化參數,getInitParameterNames返回一個空的列表。
3、getServletContext
public ServletContext getServletContext();返回這個Servlet的ServletContext對象。

 四、ServletContext接口 方法

public interface ServletContext
定義了一個Servlet的環境對象,通過這個對象,Servlet引擎向Servlet提供環境信息。
一個Servlet的環境對象必須至少與它所駐留的主機是一一對應的。在一個處理多個虛擬主機的Servlet引擎中(例如,使用了HTTP1.1的主機頭域),每一個虛擬主機必須被視爲一個單獨的環境。此外,Servlet引擎還可以創建對應於一組Servlet的環境對象。
       方法
       1、getAttribute
       public Object getAttribute(String name);
       返回Servlet環境對象中指定的屬性對象。如果該屬性對象不存在,返回空值。這個方法允許訪問有關這個Servlet引擎的在該接口的其他方法中尚未提供的附加信息。
       2、getAttributeNames
       public Enumeration getAttributeNames();返回一個Servlet環境對象中可用的屬性名的列表。
       3、getContext
       public ServletContext getContext(String uripath);
       返回一個Servlet環境對象,這個對象包括了特定URI路徑的Servlets和資源,如果該路徑不存在,則返回一個空值。URI路徑格式是/dir/dir/filename.ext。
       爲了安全,如果通過這個方法訪問一個受限制的Servlet的環境對象,會返回一個空值。
       4、getMajorVersion
       public int getMajorVersion();
       返回Servlet引擎支持的Servlet API的主版本號。例如對於2.1版,這個方法會返回一個整數2。
       5、getMinorVersion
       public int getMinorVersion();返回Servlet引擎支持的Servlet API的次版本號。例如對於2.1版,這個方法會返回一個整數1。
       6、getMimeType
       public String getMimeType(String file);
       返回指定文件的MIME類型,如果這種MIME類型未知,則返回一個空值。MIME類型是由Servlet引擎的配置決定的。
       7、getRealPath
       public String getRealPath(String path);
       一個符合URL路徑格式的指定的虛擬路徑的格式是:/dir/dir/filename.ext。用這個方法,可以返回與一個符合該格式的虛擬路徑相對應的真實路徑的String。這個真實路徑的格式應該適合於運行這個Servlet引擎的計算機(包括其相應的路徑解析器)。不管是什麼原因,如果這一從虛擬路徑轉換成實際路徑的過程不能執行,該方法將會返回一個空值。
       8、getResource
       public URL getResource(String uripath);
       返回一個URL對象,該對象反映位於給定的URL地址(格式:/dir/dir/filename.ext)的Servlet環境對象已知的資源。無論URLStreamHandlers對於訪問給定的環境是不是必須的,Servlet引擎都必須執行。如果給定的路徑的Servlet環境沒有已知的資源,該方法會返回一個空值。這個方法和java.lang.Class的getResource方法不完全相同。java.lang.Class的getResource方法通過裝載類來尋找資源。而這個方法允許服務器產生環境變量給任何資源的任何Servlet,而不必依賴於裝載類、特定區域等等。
       9、getResourceAsStream
       public InputStream getResourceAsStream(String uripath);
       返回一個InputStream對象,該對象引用指定的URL的Servlet環境對象的內容。如果沒找到Servlet環境變量,就會返回空值,URL路徑應該具有這種格式:/dir/dir/filename.ext。這個方法是一個通過getResource方法獲得URL對象的方便的途徑。請注意,當你使用這個方法時,meta-information(例如內容長度、內容類型)會丟失。
       10、getRequestDispatcher
       public RequestDispatcher getRequestDispatcher(String uripath);
       如果這個指定的路徑下能夠找到活動的資源(例如一個Servlet,JSP頁面,CGI等等)就返回一個特定URL的RequestDispatcher對象,否則,就返回一個空值,Servlet引擎負責用一個request dispatcher對象封裝目標路徑。這個request dispatcher對象可以用來完全請求的傳送。
       11、getServerInfo
       public String getServerInfo();返回一個String對象,該對象至少包括Servlet引擎的名字和版本號。
       12、log
       public void log(String msg);
       public void log(String msg, Throwable t);
       public void log(Exception exception, String msg); // 這種用法將被取消
       寫指定的信息到一個Servlet環境對象的log文件中。被寫入的log文件由Servlet引擎指定,但是通常這是一個事件log。當這個方法被一個異常調用時,log中將包括堆棧跟蹤。
       13、setAttribute
       public void setAttribute(String name, Object o);給予Servlet環境對象中你所指定的對象一個名稱。
       14、removeAttribute
       public void removeAttribute(String name);從指定的Servlet環境對象中刪除一個屬性。
       注:以下幾個方法將被取消
       15、getServlet
       public Servlet getServlet(String name) throws ServletException;
       最初用來返回一個指定名稱的Servlet,如果沒找到就返回一個空值。如果這個Servlet能夠返回,這就意味着它已經被初始化,而且已經可以接受service請求。這是一個危險的方法。當調用這個方法時,可能並不知道Servlet的狀態,這就可能導致有關服務器狀態的問題。而允許一個Servlet訪問其他Servlet的這個方法也同樣的危險。現在這個方法返回一個空值,爲了保持和以前版本的兼容性,現在這個方法還沒有被取消。在以後的API版本中,該方法將被取消。
       16、getServletNames
       public Enumeration getServletNames();
       最初用來返回一個String對象的列表,該列表表示了在這個Servlet環境下所有已知的Servlet對象名。這個列表總是包含這個Servlet自身。
基於與上一個方法同樣的理由,這也是一個危險的方法。現在這個方法返回一個空的列表。爲了保持和以前版本的兼容性,現在這個方法還沒有被取消。在以後的API版本中,該方法將被取消。
       17、getServlets
       public Enumeration getServlets();
       最初用來返回在這個Servelet環境下所有已知的Servlet對象的列表。這個列表總是包含這個Servlet自身。
基於與getServlet方法同樣的理由,這也是一個危險的方法。 現在這個方法返回一個空的列表。爲了保持和以前版本的兼容性,現在這個方法還沒有被取消。在以後的API版本中,該方法將被取消。
       五、ServletRequest接口
      定義

       public interface ServletRequest
       定義一個Servlet引擎產生的對象,通過這個對象,Servlet可以獲得客戶端請求的數據。這個對象通過讀取請求體的數據提供包括參數的名稱、值和屬性以及輸入流的所有數據。
       方法
       1、getAttribute
       public Object getAttribute(String name);
       返回請求中指定屬性的值,如果這個屬性不存在,就返回一個空值。這個方法允許訪問一些不提供給這個接口中其他方法的請求信息以及其他Servlet放置在這個請求對象內的數據。
       2、getAttributeNames
       public Enumeration getAttributeNames();返回包含在這個請求中的所有屬性名的列表。
       3、getCharacterEncoding
       public String getCharacterEncoding();返回請求中輸入內容的字符編碼類型,如果沒有定義字符編碼類型就返回空
       4、getContentLength
       public int getContentLength();請求內容的長度,如果長度未知就返回-1。
       5、getContentType
       public String getContentType();返回請求數據體的MIME類型,如果類型未知返回空值。
       6、getInputStream
       public ServletInputStream getInputStream() throws IOException;
       返回一個輸入流用來從請求體讀取二進制數據。如果在此之前已經通過getReader方法獲得了要讀取的結果,這個方法會拋出一個IllegalStateException。
       7、getParameter
       public String getParameter(String name);
       以一個String返回指定的參數的值,如果這個參數不存在返回空值。例如,在一個HTTP Servlet中,這個方法會返回一個指定的查詢語句產生的參數的值或一個被提交的表單中的參數值。如果一個參數名對應着幾個參數值,這個方法只能返回通過getParameterValues方法返回的數組中的第一個值。因此,如果這個參數有(或者可能有)多個值,你只能使用getParameterValues方法。
  8、getParameterNames
       public Enumeration getParameterNames();
       返回所有參數名的String對象列表,如果沒有輸入參數,該方法返回一個空值。
       9、getParameterValues
       public String[] getParameterValues(String name);
       通過一個String對象的數組返回指定參數的值,如果這個參數不存在,該方法返回一個空值。
       10、getProtocol
       public String getProtocol();
       返回這個請求所用的協議,其形式是協議/主版本號.次版本號。例如對於一個HTTP1.0的請求,該方法返回HTTP/1.0。
       11、getReader
       public BufferedReader getReader() throws IOException;
       這個方法返回一個buffered reader用來讀取請求體的實體,其編碼方式依照請求數據的編碼方式。如果這個請求的輸入流已經被getInputStream調用獲得,這個方法會拋出一個IllegalStateException。
       12、getRemoteAddr
       public String getRemoteAddr();返回發送請求者的IP地址。
       13、getRemoteHost
       public String getRemoteHost();
       返回發送請求者的主機名稱。如果引擎不能或者選擇不解析主機名(爲了改善性能),這個方法會直接返回IP地址。
       14、getScheme
       public String getScheme();返回請求所使用的URL的模式。例如,對於一個HTTP請求,這個模式就是http。
       15、getServerName
       public String getServerName();返回接收請求的服務器的主機名。
       16、getServerPort
       public int getServerPort();返回接收請求的端口號。
       17、setAttribute
       public void setAttribute(String name, Object object);
       這個方法在請求中添加一個屬性,這個屬性可以被其他可以訪問這個請求對象的對象(例如一個嵌套的Servlet)使用。
       注:以下方法將被取消
       18、getRealPath
       
public String getRealPath(String path);
       返回與虛擬路徑相對應的真實路徑,如果因爲某種原因,這一過程不能進行,該方法將返回一個空值。這個方法和ServletContext接口中的getRealPath方法重複。在2.1版中,ServletContext接口將闡明一個Servlet所能用的所有的路徑的映射。該方法執行的結果將會與ServletContext中getRealPath方法的結果完全一樣。
       六、ServletResponse接口
      定義

       public interface ServletResponse
       定義一個Servlet引擎產生的對象,通過這個對象,Servlet對客戶端的請求作出響應。這個響應應該是一個MIME實體,可能是一個HTML頁、圖象數據或其他MIME的格式。
       方法
       1、getCharacterEncoding
       public String getCharacterEncoding();
       返回MIME實體的字符編碼。這個字符編碼可以是指定的類型,也可以是與請求頭域所反映的客戶端所能接受的字符編碼最匹配的類型。在HTTP協議中,這個信息被通過Accept-Charset傳送到Servlet引擎。
       有關字符編碼和MIME的更多信息請參看RFC 2047。
       2、getOutputStream
       public ServletOutputStream getOutputStream() throws IOException;
       返回一個記錄二進制的響應數據的輸出流。
       如果這個響應對象已經調用getWriter,將會拋出IllegalStateException。
       3、getWriter
       public PrintWriter getWriter throws IOException;
       這個方法返回一個PringWriter對象用來記錄格式化的響應實體。如果要反映使用的字符編碼,必須修改響應的MIME類型。在調用這個方法之前,必須設定響應的content類型。
       如果沒有提供這樣的編碼類型,會拋出一個UnsupportedEncodingException,如果這個響應對象已調用getOutputStream,會拋出一個getOutputStream。
       4、setContentLength
       public void setContentLength(int length);
       設置響應的內容的長度,這個方法會覆蓋以前對內容長度的設定。
       爲了保證成功地設定響應頭的內容長度,在響應被提交到輸出流之前必須調用這個方法。
       5、setContentType
       public void setContentType(String type);
       這個方法用來設定響應的content類型。這個類型以後可能會在另外的一些情況下被隱式地修改,這裏所說的另外的情況可能當服務器發現有必要的情況下對MIME的字符設置。
       爲了保證成功地設定響應頭的content類型,在響應被提交到輸出流之前必須調用這個方法。
       七、SingleThreadModel接口
       定義

       public interface SingleThreadModel;
       這是一個空接口,它指定了系統如何處理對同一個Servlet的調用。如果一個Servlet被這個接口指定,那麼在這個Servlet中的service方法中將不會有兩個線程被同時執行。
       Servlet可以通過維持一個各自獨立的Servlet實例池,或者通過只讓Servlet的service中只有一個線程的方法來實現這個保證。
       八、GenericServlet類
       public abstract class GenericServlet implements Servlet,
             ServletConfig, Serializable;
       這個類的存在使得編寫Servlet更加方便。它提供了一個簡單的方案,這個方案用來執行有關Servlet生命週期的方法以及在初始化時對ServletConfig對象和ServletContext對象進行說明。
       方法
       1、destroy
       public void destroy();
       在這裏destroy方法不做任何其他的工作。
       2、getInitParameter
       public String getInitParameter(String name);
       這是一個簡便的途徑,它將會調用ServletConfig對象的同名的方法。
       3、getInitParameterNames
       public Enumeration getInitParameterNames();
       這是一個簡便的途徑,它將會調用ServletConfig對象的同名的方法。
       4、getServletConfig
       public ServletConfig getServletConfig();
       返回一個通過這個類的init方法產生的ServletConfig對象的說明。
       5、getServletContext
       public ServletContext getServletContext();
       這是一個簡便的途徑,它將會調用ServletConfig對象的同名的方法。
       6、getServletInfo
       public String getServletInfo();
       返回一個反映Servlet版本的String。
       7、init
       public void init() throws ServletException;
       public void init(ServletConfig config) throws ServletException;
       init(ServletConfig config)方法是一個對這個Servlet的生命週期進行初始化的簡便的途徑。
       init()方法是用來讓你對GenericServlet類進行擴充的,使用這個方法時,你不需要存儲config對象,也不需要調用super.init(config)。
       init(ServletConfig config)方法會存儲config對象然後調用init()。如果你重載了這個方法,你必須調用super.init(config),這樣GenericServlet類的其他方法才能正常工作。
       8、log
       public void log(String msg);
       public void log(String msg, Throwable cause);
       通過Servlet content對象將Servlet的類名和給定的信息寫入log文件中。
       9、service
       public abstract void service(ServletRequest request, ServletResponse
             response) throws ServletException, IOException;
       這是一個抽象的方法,當你擴展這個類時,爲了執行網絡請求,你必須執行它。
       九、ServletInputStream類
       定義
       public abstract class ServletInputStream extends InputStream
       這個類定義了一個用來讀取客戶端的請求信息的輸入流。這是一個Servlet引擎提供的抽象類。一個Servlet通過使用ServletRequest接口獲得了對一個ServletInputStream對象的說明。
       這個類的子類必須提供一個從InputStream接口讀取有關信息的方法。
       方法
       1、readLine
       public int readLine(byte[] b, int off, int len) throws IOException;
       從輸入流的指定的偏移量開始將指定長度的字節讀入到指定的數組中。如果該行所有請求的內容都已被讀取,這個讀取的過程將結束。如果是遇到了新的一行,新的一行的首個字符也將被讀入到數組中。
       十、ServletOutputStream類
       定義
       public abstract class ServletOutputStream extends OutputStream
       這是一個由Servlet引擎使用的抽象類。Servlet通過使用ServletResponse接口的使用獲得了對一個這種類型的對象的說明。利用這個輸出流可以將數據返回到客戶端。
       這個類的子類必須提供一個向OutputStream接口寫入有關信息的方法。
       在這個接口中,當一個刷新或關閉的方法被調用時。所有數據緩衝區的信息將會被髮送到客戶端,也就是說響應被提交了。請注意,關閉這種類型的對象時不一定要關閉隱含的socket流。
       方法
       1、print
       public void print(String s) throws IOException;
       public void print(boolean b) throws IOException;
       public void print(char c) throws IOException;
       public void print(int i) throws IOException;
       public void print(long l) throws IOException;
       public void print(float f) throws IOException;
       public void print(double d) throws IOException;
       輸出變量到輸出流中
       2、println
       public void println() throws IOException;
       public void println(String s) throws IOException;
       public void println(boolean b) throws IOException;
       public void println(char c) throws IOException;
       public void println(int i) throws IOException;
       public void println(long l) throws IOException;
       public void println(float f) throws IOException;
       public void println(double d) throws IOException;
       輸出變量到輸出流中,並增加一個回車換行符
       十一、ServletException類
       定義
       public class ServletException extends Exception
       Servlet遇到問題時拋出的一個異常。
       構造函數
       public ServletException();
       public ServletException(String message);
       public ServletException(String message, Throwable cause);
       public ServletException(Throwable cause);
       構造一個新的ServletException,如果這個構造函數包括一個Throwable參數,這個Throwable對象將被作爲可能拋出這個異常的原因。
       方法
       1、getRootCause
       public Throwable getRootCause();
       如果配置了拋出這個異常的原因,這個方法將返回這個原因,否則返回一個空值。
    十二、UnavailableException類
       定義
       public class UnavailableException extends ServletException
       不論一個Servlet是永久地還是臨時地無效,都會拋出這個異常。Servlet會記錄這個異常以及Servlet引擎所要採取的相應措施。臨時的無效是指Servlet在某一時間由於一個臨時的問題而不能處理請求。例如,在另一個不同的應用層的服務(可能是數據庫)無法使用。這個問題可能會自行糾正或者需要採取其他的糾正措施。永久的無效是指除非管理員採取措施,這個Servlet將不能處理客戶端的請求。例如,這個Servlet配置信息丟失或Servlet的狀態被破壞。Servlet引擎可以安全地處理包括永久無效在內的這兩種異常,但是對臨時無效的正常處理可以使得Servlet引擎更健壯。特別的,這時對Servlet的請求只是被阻止(或者是被延期)一段時間,這顯然要比在service自己重新啓動前完全拒絕請求更爲科學。
       構造函數
       public UnavailableException(Servlet servlet, String message);
       public UnavailableException(int seconds, Servlet servlet,String message);
       構造一個包含指定的描述信息的新的異常。如果這個構造函數有一個關於秒數的參數,這將給出Servlet發生臨時無效後,能夠重新處理請求的估計時間。如果不包含這個參數,這意味着這個Servlet永久無效。
       方法
       1、getServlet
       public Servlet getServlet();
       返回報告無效的Servlet。這被Servlet引擎用來識別受到影響的Servlet。
       2、getUnavailableSeconds
       public int getUnavailableSeconds();
       返回Servlet預期的無效時間,如果這個Servlet是永久無效,返回-1。
       3、isPermanent
       
public boolean isPermanent();
       如果這個Servlet永久無效,返回布爾值true,指示必須採取一些管理行動以使得這個Servlet可用。  
軟件包:javax.servlet.http
       

所包含的接口HttpServletRequest;HttpServletResponse;HttpSession;HttpSessionBindingListener;HttpSessionContext。
所包含的類Cookie;HttpServlet;HttpSessionBindingEvent;HttpUtils。
      

 一、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。
11、setMaxInactiveInterval
public int setMaxInactiveInterval(int interval);
設置一個秒數,這個秒數表示客戶端在不發出請求時,session被Servlet引擎維持的最長時間。以下這個方法將被取消\
12、getSessionContext
public HttpSessionContext getSessionContext();
返回session在其中得以保持的環境變量。這個方法和其他所有HttpSessionContext的方法一樣被取消了。
四、HttpSessionBindingListener接口
定義\
public interface HttpSessionBindingListener
這個對象被加入到HTTP的session中,執行這個接口會通告有沒有什麼對象被綁定到這個HTTP session中或被從這個HTTP session中取消綁定。
方法
1、valueBound
public void valueBound(HttpSessionBindingEvent event);
當一個對象被綁定到session中,調用此方法。HttpSession.putValue方法被調用時,Servlet引擎應該調用此方法。
2、valueUnbound
public void valueUnbound(HttpSessionBindingEvent event);
當一個對象被從session中取消綁定,調用此方法。HttpSession.removeValue方法被調用時,Servlet引擎應該調用此方法。
五、HttpSessionContext接口
定義\
此接口將被取消\
public interface HttpSessionContext
這個對象是與一組HTTP session關聯的單一的實體。這個接口由於安全的原因被取消,它出現在目前的版本中僅僅是爲了兼容性的原因。這個接口的方法將模擬以前的版本的定義返回相應的值。
方法
1、getSession
public HttpSession getSession(String sessionId);當初用來返回與這個session id相關的session。現在返回空值。
2、getIds
public Enumeration getIds();當初用來返回這個環境下所有session id的列表。現在返回空的列表。
六、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。
方法
1、getComment
public String getComment();返回描述這個cookie目的的說明,如果未定義這個說明,返回空值。
2、getDomain
public String getDomain();返回這個cookie可以出現的區域,如果未定義區域,返回空值。
3、getMaxAge
public int getMaxAge();
這個方法返回這個cookie指定的最長存活時期。如果未定義這個最長存活時期,該方法返回-1。
4、getName
public String getName();該方法返回cookie名。
5、getPath
public String getPath();返回這個cookie有效的所有URL路徑的前綴,如果未定義,返回空值。
6、getSecure
public boolean getSecure();如果這個cookie只通過安全通道傳輸返回真,否則返回假。
7、getValue
public String getValue();該方法返回cookie的值。
8、getVersion
public int getVersion();
返回cookie的版本。版本1由RFC 2109解釋。版本0由Netscape Communications Corporation的說明解釋。新構造的cookie默認使用版本0。
9、setComment
public void setComment(String purpose);
如果一個用戶將這個cookie提交給另一個用戶,必須通過這個說明描述這個cookie的目的。版本0不支持這個屬性。
10、setDomain
public void setDomain(String pattern);
這個方法設置cookie的有效域的屬性。這個屬性指定了cookie可以出現的區域。一個有效域以一個點開頭(.foo.com),這意味着在指定的域名解析系統的區域中(可能是www.foo.com但不是a.b.foo.com)的主機可以看到這個cookie。默認情況是,cookie只能返回保存它的主機。
11、setMaxAge
public void setMaxAge(int expiry);
這個方法設定這個cookie的最長存活時期。在該存活時期之後,cookie會被終目。負數表示這個cookie不會生效,0將從客戶端刪除這個cookie。
12、setPath
public void setPath(String uri);
這個方法設置cookie的路徑屬性。客戶端只能向以這個給定的路徑String開頭的路徑返回cookie。
13、setSecure
public void setSecure(boolean flag);
指出這個cookie只能通過安全通道(例如HTTPS)發送。只有當產生這個cookie的服務器使用安全協議發送這個cookie值時才能這樣設置。
14、setValue
public void setValue(String newValue);
設置這個cookie的值,對於二進制數據採用BASE64編碼。版本0不能使用空格、{}、()、=、,、“”、/、?、@、:以及;。
15、setVersion
public void setVersion(int v);設置cookie的版本號
七、HttpServlet類
定義\
public class HttpServlet extends GenericServlet implements Serializable
這是一個抽象類,用來簡化HTTP Servlet寫作的過程。它是GenericServlet類的擴充,提供了一個處理HTTP協議的框架。
在這個類中的service方法支持例如GET、POST這樣的標準的HTTP方法。這一支持過程是通過分配他們到適當的方法(例如doGet、doPost)來實現的。
方法
1、doDelete
protected void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException,
IOException;
被這個類的service方法調用,用來處理一個HTTP DELETE操作。這個操作允許客戶端請求從服務器上刪除URL。這一操作可能有負面影響,對此用戶就負起責任。
這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。當你要處理DELETE請求時,你必須重載這一方法。
2、doGet
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,
IOException;
被這個類的service方法調用,用來處理一個HTTP GET操作。這個操作允許客戶端簡單地從一個HTTP服務器“獲得”資源。對這個方法的重載將自動地支持HEAD方法。
GET操作應該是安全而且沒有負面影響的。這個操作也應該可以安全地重複。
這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。
3、doHead
protected void doHead(HttpServletRequest request,HttpServletResponse response) throws ServletException,
IOException;
被這個類的service方法調用,用來處理一個HTTP HEAD操作。默認的情況是,這個操作會按照一個無條件的GET方法來執行,該操作不向客戶端返回任何數據,而僅僅是返回包含內容長度的頭信息。
GET操作一樣,這個操作應該是安全而且沒有負面影響的。這個操作也應該可以安全地重複。
這個方法的默認執行結果是自動處理HTTP HEAD操作,這個方法不需要被一個子類執行。
4、doOptions
protected void doOptions(HttpServletRequest request,HttpServletResponse response) throws ServletException,
IOException;
被這個類的service方法調用,用來處理一個HTTP OPTION操作。這個操作自動地決定支持哪一種HTTP方法。例如,一個Servlet寫了一個HttpServlet的子類並重載了doGet方法,doOption會返回下面的頭:Allow: GET,HEAD,TRACE,OPTIONS
你一般不需要重載這個方法。
5、doPost
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,
IOException;
被這個類的service方法調用,用來處理一個HTTP POST操作。這個操作包含請求體的數據,Servlet應該按照他行事。
這個操作可能有負面影響。例如更新存儲的數據或在線購物。這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。當你要處理POST操作時,你必須在HttpServlet的子類中重載這一方法。
6、doPut
protected void doPut(HttpServletRequest request,HttpServletResponse response) throws ServletException,
IOException;
被這個類的service方法調用,用來處理一個HTTP PUT操作。這個操作類似於通過FTP發送文件。
這個操作可能有負面影響。例如更新存儲的數據或在線購物。這一方法的默認執行結果是返回一個HTTP BAD_REQUEST錯誤。當你要處理PUT操作時,你必須在HttpServlet的子類中重載這一方法。
   7、doTrace
      protected void doTrace(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException;
       被這個類的service方法調用,用來處理一個HTTP TRACE操作。這個操作的默認執行結果是產生一個響應,這個響應包含一個反映trace請求中發送的所有頭域的信息。當你開發Servlet時,在多數情況下你需要重載這個方法。
       8、getLastModified
       protected long getLastModified(HttpServletRequest request);
       返回這個請求實體的最後修改時間。爲了支持GET操作,你必須重載這一方法,以精確地反映最後修改的時間。這將有助於瀏覽器和代理服務器減少裝載服務器和網絡資源,從而更加有效地工作。返回的數值是自1970-1-1日(GMT)以來的毫秒數。默認的執行結果是返回一個負數,這標誌着最後修改時間未知,它也不能被一個有條件的GET操作使用。
       9、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時,在多數情況下你不必重載這個方法。
       八、HttpSessionBindingEvent類
       定義\

       public class HttpSessionBindingEvent extends EventObject
       這個事件是在監聽到HttpSession發生綁定和取消綁定的情況時連通HttpSessionBindingListener的。這可能是一個session被終止或被認定無效的結果。事件源是HttpSession.putValue或HttpSession.removeValue。
       構造函數
       public HttpSessionBindingEvent(HttpSession session, String name);
       通過引起這個事件的Session和發生綁定或取消綁定的對象名構造一個新的HttpSessionBindingEvent。
       方法
       1、getName
       public String getName();返回發生綁定和取消綁定的對象的名字。
       2、getSession
       public HttpSession getSession();返回發生綁定和取消綁定的session的名字。
          九、HttpUtils類
       定義\
       public class HttpUtils 收集HTTP Servlet使用的靜態的有效的方法。
       方法
       1、getRequestURL
       public static StringBuffer getRequestURL(HttpServletRequest request);
       在服務器上重建客戶端用來建立請求的URL。這個方法反映了不同的協議(例如http和https)和端口,但不包含查詢字符串。這個方法返回一個StringBuffer而不是一個String,這樣URL可以被Servlet開發者有效地修改。
       2、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。
       3、parseQueryString
       public static Hashtable parseQueryString(String s);
       解析一個查詢字符串,並創建一個具有關鍵值-數據對的hash table。這裏的數據是該字符串所對應的值的列表。一個關鍵值可以出現一次或多次。這個關鍵值每出現一次,它的相應的值就被加入到hash table中的字符串所對應的值的列表中。
       從查詢字符串讀出的數據將經過URL解碼,+將被轉換爲空格以十六進制傳送的數據(例如%xx)將被轉換成字符。
       當查詢字符串無效時,該方法拋出一個IllegalArgumentException。
術語表
bytecode
      字節碼:由Java編譯器和Java解釋程序生成的機器代碼。
cookie
      Web服務器建立的數據,該數據存儲在用戶的計算機上,提供了一個Web站點跟蹤用戶的參數並存儲在用戶自己硬盤上的方法。
HTTP
       超文本傳輸協議。一個請求響應協議用來連接WWW服務器向客戶端瀏覽器傳輸HTML頁面。
輸入流對象
          一個對象,由ServletInputStream類定義,被Servlet用來從客戶端讀取請求。
映射
       Servlet實例和Servlet返回數據的URL組成的一對,例如,HelloServlet和/hello/index.html。
輸出流對象
         一個對象,由ServletOutputStream class類定義,被Servlet用來向客戶端返回數據。
request dispatcher object
       RequestDispatcher接口定義的一個對象,用來從客戶端接收請求,並將其發送到Web服務器上可用的其他資源(例如Servlet、CGI、HTML文件或JSP文件)。
sandboxed servlet
       在一個安全性約束下運行的Servlet。
servlet
          一個小的,具有平臺無關性的,沒有圖形用戶界面的Java程序。它可以在許多方面擴充Web服務的功能。
servlet configuration object
       ServletConfig接口定義的一個對象,用來配置一個Servlet。
servlet context object
       ServletContext接口定義的一個對象。給予Servlet有關Servlet引擎的信息。
servlet引擎
       Web服務器提供商製作的一個環境,可以允許Servlet在具體的Web服務器上運行。
servlet請求對象
       ServletRequest接口定義的一個對象,允許Servlet獲得用關客戶端請求的數據。
servlet response object
       ServletResponse接口定義的一個對象,允許Servlet作出響應。
servlet runner
          Java Servlet Developer’s Kit (JSDK)中的sun.servlet.http.HttpServer過程,它使得Servlet得以運行。
會話跟蹤
       在一個Web應用程序中,識別一個從同一個客戶端發出的連續的唯一的請求的能力。
SSL
      加密套接字協議層。一個安全協議,用來在Iternet上的客戶端瀏覽器和服務器交換密鑰和加密數據。
URI
      統一資源標識。定義一個Internet地址,它是一個URL的超集。
URL
      統一資源路徑。這個地址定義了到達一個WWW上的文件的路線,通常由協議前綴、域名、目錄名和文件名組成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章