servlet中文API

 
一、javax.servlet.Servlet接口

servlet抽象集是javax.servlet.Servlet接口,它規定了必須由Servlet類實現由servlet引擎識別和管理的方法集。
Servlet接口的基本目標是提供生命期方法init()、service()和destroy()方法。


servlet接口中的方法      
void init(ServletConfit config)throws ServletException       在servlet被載入後和實施服務前由servlet引擎進行?次性調用。如果init()產生溢出UnavailableException,則servle退出服務。      
ServletConfig getServletConfig()       返回傳遞到servlet的init()方法的ServletConfig對象      
void service(ServletRequest request, ServletResponse response)throws ServletException,IOException       處理request對象中描述的請求,使用response對象返回請求結果      
String getServletInfo()           返回描述servlet的一個字符串      
void destory()           當servlet將要卸載時由servlet引擎調用    

二、javax.servlet.GenericServlet類(協議無關版本)

GenericServlet是一種與協議無關的servlet,是一種跟本不對請求提供服務的servlet,而是簡單地從init()方法啓動後臺線程並在destory()中殺死。它可以用於模擬操作系統的端口監控進程。
servlet API提供了Servlet接口的直接實現,稱爲GenericServlet。此類提供除了service()方法外所有接口中方法的缺省實現。這意味着通過簡單地擴展GenericServlte可以編寫一個基本的servlet。
除了Servlet接口外,GenericServlet也實現了ServletConfig接口,處理初始化參數和servlet上下文,提供對授權傳遞到init()方法中的ServletConfig對象的方法。


GenericServlet類中的方法      
void destory()       編飛組成單詞“destory”的一個註冊入口      
String getInitParameter(String name)       返回具有指定名稱的初始化參數值。通過凋用config.getInitParameter(name)實現。      
Enumeration getInitParameterNames()       返回此serv]et已編碼的所有初始化參數的?個枚舉類型值。調用config.getInitParameterNames()獲得列表。如果未提供初始化參數,則返回?個空的枚舉類型值(但不是null)      
ServletConfig getServletConfig()       返回傳遞到init()方法的ServletConfig對象      
ServletContext getServletContext()       返回在config對象中引用的ServletContext      
String getServletInfo()       返回空字符串      
void init(ServletConfig config)throws ServletException       在一實例變量中保存config對象。編寫組成單詞“init”的註冊入口,然後調用方法init()      
void init()throws ServletException       可以被跳過以處理servlet初始化.在config對象被保存後init(ServletConfig config)的結尾處自動被調用.servlet作者經常會忘記調用super.init(config)       
void log(String msg)       編寫註冊servlet的入口.爲此調用servlet上下文的log()方法.servlet的名字被加到消息文本的開頭。      
void log(String msg,Throwable t)       編寫一個入口和servlet註冊的棧軌跡。此方法也是ServletContext中相應方法的一個副本。      
abstract void service(Request request,Response response)throws ServletException,IOException       由servlet引擎調用爲請求對象描述的請求提供服務。這是GenericServlet中唯一的抽象方法。因此它也是唯一必須被子類所覆蓋的方法。      
String getServletName()       返回在Web應用發佈描述器(web.xml)中指定的servlet的名字。    

三、javax.servlet.http.HttpServlet類(HTTP版本)

雖然servlet API允許擴展到其它協議,但最終所有的servlet均在Web環境下實施操作,只有幾種servlet直接擴展了GenericServlet。對servlet更一般的是擴展其HTTP子類HttpServlet。
HttpServlet類通過調用指定到HTTP請求方法的方法實現service(),亦即對DELETE、HEAD、GET、OPTIONS、POST、PUT和TRACE,分別調用doDelete()、doHead()、doGet()、doOptions()、doPost()、doPut()和doTrace()方法,將請求和響應對象置入其HTTP指定子類。

 

HttpServlet類中的方法      
Void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       由servlet引擎調用用處理一個HTTP GET請求。輸入參數、HTTP頭標和輸入流可從request對象、response頭標和response對象的輸出流中獲得。      
Void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       由servlet引擎調用用處理一個HTTP POST請求。輸入參數、HTTP頭標和輸入流可從request對象、response頭標和response對象的輸出流中獲得。      
Void doPut(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       由servlet引擎調用用處理一個HTTP PUT請求。本方法中請求URI指出被載入的文件位置。      
Void doDelete(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       由servlet引擎調用用處理一個HTTP DELETE請求。請求URI指出資源被刪除。      
Void doOptions(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       由servlet引擎調用用處理一個HTTP OPTIONS請求。返回一個Allow響應頭標表明此servlet支持的HTTP方法。一個servlet不需要覆蓋此方法,因爲HttpServlet方法已經實現規範所需的功能。      
Void doTrace(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       由servlet引擎調用用處理一個HTTP TRACE請求。使得請求頭標被反饋成響應關標。一個servlet不需要覆蓋此方法,因爲HttpServlet方法已經實現HTTP規範所需的功能。      
Void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException       Service(Request request,Response response)調用的一個立即方法,帶有指定HTTP請求和響應。此方法實際上將請求導向doGet()、doPost()等等。不應該覆蓋此方法。      
Void service(Request request,Response response)throws ServletException,IOException       將請求和響應對象置入其指定的HTTP子類,並調用指定HTTP的service()方法。    

四、javax.servlet.ServletRequest類(協議無關版本)

ServletRequest接口封裝了客戶端請求的細節。它與協議無關,並有一個指定HTTP的子接口。
ServletRequest主要處理:
1.找到客戶端的主機名和IP地址
2.檢索請求參數
3.取得和設置屬性
4.取得輸入和輸出流


ServletRequest類中的方法      
Object getAttribute(String name)       返回具有指定名字的請求屬性,如果不存在則返回null。屬性可由servlet引擎設置或使用setAttribute()顯式加入。      
Enumeration getAttributeName()       返回請求中所有屬性名的枚舉。如果不存在屬性,則返回一個空的枚舉。      
String getCharacteEncoding()       返回請求所用的字符編碼。      
Int getContentLength()       指定輸入流的長度,如果未知則返回-1。      
ServletInputStream getInputStream()throws IOException       返回與請求相關的(二進制)輸入流。可以調用getInputStream()或getReader()方法之一。      
String getParameter(String name)       返回指定輸入參數,如果不存在,返回null。      
Enumeration getParameterName()       返回請求中所有參數名的一個可能爲空的枚舉。      
String[] getParameterValues(String name)       返回指定輸入參數名的取值數組,如果取值不存在則返回null。它在參數具有多個取值的情況下十分有用。      
String get Protocol()       返回請求使用協議的名稱和版本。      
String getScheme()       返回請求URI的子串,但不包含第一個冒號前的內容。      
String getServerName()       返回處理請求的服務器的主機名。      
String getServerPort()       返回接收主機正在偵聽的端口號。      
BufferedReader getReader()throws IOException       返回與請求相關輸入數據的一個字符解讀器。此方法與getInputStream()只可分別調用,不能同時使用。      
String getRemoteAddr()       返回客戶端主機的數字型IP地址。      
String getRemoteHost()       如果知道,返回客戶端主機名。      
void setAttribute(String name,Object obj)       以指定名稱保存請求中指定對象的引用。      
void removeAttribute(String name)       從請求中刪除指定屬性      
Locale getLocale()       如果已知,返回客戶端的第一現場或者爲null。      
Enumeration getLocales()       如果已知,返回客戶端的第一現場的一個枚舉,否則返回服務器第一現場。      
boolean isSecure()       如果請求使用瞭如HTTPS安全隧道,返回true      
RequestDispatcher getRequestDispatcher(String name)       返回指定源名稱的RequsetDispatcher對象。    

五、javax.servlet.http.HttpServletRequest接口(HTTP版本)

HttpServletRequest類主要處理:
1.讀取和寫入HTTP頭標
2.取得和設置cookies
3.取得路徑信息
4.標識HTTP會話。


HttpServletRequest接口中的方法      
String getAuthType()       如果servlet由一個鑑定方案所保護,如HTTP基本鑑定,則返回方案名稱。      
String getContextPath()       返回指定servlet上下文(web應用)的URL的前綴。      
Cookie[] getCookies()       返回與請求相關cookie的一個數組。      
Long getDateHeader(String name)       將輸出轉換成適合構建Date對象的long類型取值的getHeader()的簡化版。      
String getHeader(String name)       返回指定的HTTP頭標指。如果其由請求給出,則名字應爲大小寫不敏感。      
Enumeration getHeaderNames()       返回請求給出的所有HTTP頭標名稱的權舉值。      
Enumeration getHeaders(String name)       返回請求給出的指定類型的所有HTTP頭標的名稱的枚舉值,它對具有多取值的頭標非常有用。      
int getIntHeader(String name)       將輸出轉換爲int取值的getHeader()的簡化版。      
String getMethod()       返回HTTP請求方法(例如GET、POST等等)      
String getPathInfo()       返回在URL中指定的任意附加路徑信息。      
String getPathTranslated()       返回在URL中指定的任意附加路徑信息,被子轉換成一個實際路徑。      
String getQueryString()       返回查詢字符串,即URL中?後面的部份。      
String getRemoteUser()       如果用戶通過鑑定,返回遠程用戶名,否則爲null。      
String getRequestedSessionId()       返回客戶端的會話ID      
String getRequestURI()       返回URL中一部分,從“/”開始,包括上下文,但不包括任意查詢字符串。      
String getServletPath()       返回請求URI上下文後的子串      
HttpSession getSession()       調用getSession(true)的簡化版。      
HttpSession getSession(boolean create)       返回當前HTTP會話,如果不存在,則創建一個新的會話,create參數爲true。      
Principal getPrincipal()       如果用戶通過鑑定,返回代表當前用戶的java.security.Principal對象,否則爲null。      
boolean isRequestedSessionIdFromCookie()       如果請求的會話ID由一個Cookie對象提供,則返回true,否則爲false。      
boolean isRequestedSessionIdFromURL()       如果請求的會話ID在請求URL中解碼,返回true,否則爲false      
boolean isRequestedSessionIdValid()       如果客戶端返回的會話ID仍然有效,則返回true。      
Boolean isUserInRole(String role)       如果當前已通過鑑定用戶與指定角色相關,則返回true,如果不是或用戶未通過鑑定,則返回false。    

六、javax.servlet.ServletResponse接口(協議無關版本)

ServletResponse對象將一個servlet生成的結果傳到發出請求的客戶端。ServletResponse操作主要是作爲輸出流及其內容類型和長度的包容器,它由servlet引擎創建.


ServletResponse接口中的方法      
void flushBuffer()throws IOException       發送緩存到客戶端的輸出內容。因爲HTTP需要頭標在內容前被髮送,調用此方法發送狀態行和響應頭標,以確認請求。      
int getBufferSize()       返回響應使用的緩存大小。如果緩存無效則返加0。      
String getCharacterEncoding()       返回響應使用字符解碼的名字。除非顯式設置,否則爲ISO-8859-1      
Locale getLocale()       返回響應使用的現場。除非用setLocale()修改,否則缺省爲服務器現場。      
OutputStream getOutputStream()throws IOException       返回用於將返回的二進制輸出寫入客戶端的流,此方法和getWrite()方法二者只能調用其一。      
Writer getWriter()throws IOException       返回用於將返回的文本輸出寫入客戶端的一個字符寫入器,此方法和getOutputStream()二者只能調用其一。      
boolean isCommitted()       如果狀態和響應頭標已經被髮回客戶端,則返回true,在響應被確認後發送響應頭標毫無作用。      
void reset()       清除輸出緩存及任何響應頭標。如果響應已得到確認,則引發事件IllegalStateException。      
void setBufferSize(int nBytes)       設置響應的最小緩存大小。實際緩存大小可以更大,可以通過調用getBufferSize()得到。如果輸出已被寫入,則產生IllegalStateException。      
void setContentLength(int length)       設置內容體的長度。      
void setContentType(String type)       設置內容類型。在HTTP servlet中即設置Content-Type頭標。      
void setLocale(Locale locale)       設置響應使用的現場。在HTTP servlet中,將對Content-Type頭標取值產生影響。    

七、javax.servlet.http.HttpServletResponse接口(HTTP版本)

HttpServletResponse加入表示狀態碼、狀態信息和響應頭標的方法,它還負責對URL中寫入一Web頁面的HTTP會話ID進行解碼。


HttpServletResponse接口中的方法      
void addCookie(Cookie cookie)       將一個Set-Cookie頭標加入到響應。      
void addDateHeader(String name,long date)       使用指定日期值加入帶有指定名字(或代換所有此名字頭標)的響應頭標的方法。      
void setHeader(String name,String value)       設置具有指定名字和取值的一個響應頭標。      
void addIntHeader(String name,int value)       使用指定整型值加入帶有指定名字的響應頭標(或代換此名字的所有頭標)。      
boolean containsHeader(String name)       如果響應已包含此名字的頭標,則返回true。      
String encodeRedirectURL(String url)       如果客戶端不知道接受cookid,則向URL加入會話ID。第一種形式只對在sendRedirect()中使用的URL進行調用。其他被編碼的URLs應被傳遞到encodeURL()      
String encodeURL(String url)          
void sendError(int status)       設置響應狀態碼爲指定值(可選的狀態信息)。HttpServleetResponse定義了一個完整的整數常量集合表示有效狀態值。      
void sendError(int status,String msg)          
void setStatus(int status)       設置響應狀態碼爲指定指。只應用於不產生錯誤的響應,而錯誤響應使用sendError()。    

八、javax.servlet.ServletContext接口

一個servlet上下文是servlet引擎提供用來服務於Web應用的接口。Servlet上下文具有名字(它屬於Web應用的名字)唯一映射到文件系統的一個目錄。
一個servlet可以通過ServletConfig對象的getServletContext()方法得到servlet上下文的引用,如果servlet直接或間接調用子類GenericServlet,則可以使用getServletContext()方法。
Web應用中servlet可以使用servlet上下文得到:
1.在調用期間保存和檢索屬性的功能,並與其他servlet共享這些屬性。
2.讀取Web應用中文件內容和其他靜態資源的功能。
3.互相發送請求的方式。
4.記錄錯誤和信息化消息的功能。


ServletContext接口中的方法      
Object getAttribute(String name)       返回servlet上下文中具有指定名字的對象,或使用已指定名捆綁一個對象。從Web應用的標準觀點看,這樣的對象是全局對象,因爲它們可以被同一servlet在另一時刻訪問。或上下文中任意其他servlet訪問。      
void setAttribute(String name,Object obj)       設置servlet上下文中具有指定名字的對象。      
Enumeration getAttributeNames()       返回保存在servlet上下文中所有屬性名字的枚舉。      
ServletContext getContext(String uripath)       返回映射到另一URL的servlet上下文。在同一服務器中URL必須是以“/”開頭的絕對路徑。      
String getInitParameter(String name)       返回指定上下文範圍的初始化參數值。此方法與ServletConfig方法名稱不一樣,後者只應用於已編碼的指定servlet。此方法應用於上下文中所有的參數。      
Enumeration getInitParameterNames()       返回(可能爲空)指定上下文範圍的初始化參數值名字的枚舉值。      
int getMajorVersion()       返回此上下文中支持servlet API級別的最大和最小版本號。      
int getMinorVersion()          
String getMimeType(String fileName)       返回指定文件名的MIME類型。典型情況是基於文件擴展名,而不是文件本身的內容(它可以不必存在)。如果MIME類型未知,可以返回null。      
RequestDispatcher getNameDispatcher(String name)       返回具有指定名字或路徑的servlet或JSP的RequestDispatcher。如果不能創建RequestDispatch,返回null。如果指定路徑,必須心“/”開頭,並且是相對於servlet上下文的頂部。      
RequestDispatcher getNameDispatcher(String path)          
String getRealPath(String path)       給定一個URI,返回文件系統中URI對應的絕對路徑。如果不能進行映射,返回null。      
URL getResource(String path)       返回相對於servlet上下文或讀取URL的輸入流的指定絕對路徑相對應的URL,如果資源不存在則返回null。      
InputStream getResourceAsStream(String path)          
String getServerInfo()       返順servlet引擎的名稱和版本號。      
void log(String message)
void log(String message,Throwable t)       將一個消息寫入servlet註冊,如果給出Throwable參數,則包含棧軌跡。      
void removeAttribute(String name)       從servlet上下文中刪除指定屬性。    

九、javax.servlet.http.HttpSession接口

HttpSession類似於哈希表的接口,它提供了setAttribute()和getAttribute()方法存儲和檢索對象。HttpSession提供了一個會話ID關鍵字,一個參與會話行爲的客戶端在同一會話的請求中存儲和返回它。servlet引擎查找適當的會話對象,並使之對當前請求可用。


HttpSession接口中的方法      
Object getAttribute(String name)       將會話中一個對象保存爲指定名字,返回或刪除前面保存的此名稱對象。      
void setAttribute(String name,Object value)          
void removeAttribute(String name)          
Enumeration getAttributeName()       返回捆綁到當前會話的所有屬性名的枚舉值。      
long getCreationTime()       返回表示會話創建和最後訪問日期和時間的一個長整型,該整型形式爲java.util.Date()構造器中使用的形式。      
long getLastAccessedTime()          
String getId()       返回會話ID,servlet引擎設置的一個唯一關鍵字。      
ing getMaxInactiveInterval()       如果沒有與客戶端發生交互,設置和返回會話存活的最大秒數。      
void setMasInactiveInterval(int seconds)          
void invalidate()       使得會話被終止,釋放其中任意對象。      
boolean isNew()       如果客戶端仍未加入到會話,返回true。當會話首次被創建,會話ID被傳入客戶端,但客戶端仍未進行包含此會話ID的第二次請示時,返回true。

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