javaxservlet API中文說明_第1頁
javaxservlet API中文說明_第2頁
javaxservlet API中文說明_第3頁
javaxservlet API中文說明_第4頁
javaxservlet API中文說明_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Servlet API 中文版Javax.servlet包主要用于java web開發(fā)。基本類和接口 一、javax.servlet.Servlet接口 servlet抽象集是javax.servlet.Servlet接口,它規(guī)定了必須由Servlet類實(shí)現(xiàn)由servlet引擎識(shí)別和管理的方法集。 Servlet接口的基本目標(biāo)是提供生命期方法init()、service()和destroy()方法。 servlet接口中的方法 void init(ServletConfit config)throws ServletException 在servlet被載入后和實(shí)施服務(wù)前由servlet引擎進(jìn)

2、行?次性調(diào)用。如果init()產(chǎn)生溢出UnavailableException,則 servle退出服務(wù)。 ServletConfig getServletConfig() 返回傳遞到servlet的init()方法的ServletConfig對(duì)象 void service(ServletRequest request, ServletResponse response)throws ServletException,IOException 處理request對(duì)象中描述的請(qǐng)求,使用response對(duì)象返回請(qǐng)求結(jié)果 String getServletInfo() 返回描述servlet的一個(gè)字符

3、串 void destory() 當(dāng)servlet將要卸載時(shí)由servlet引擎調(diào)用 二、javax.servlet.GenericServlet類(協(xié)議無關(guān)版本) GenericServlet是一種與協(xié)議無關(guān)的servlet,是一種跟本不對(duì)請(qǐng)求提供服務(wù)的servlet,而是簡(jiǎn)單地從init()方法啟動(dòng)后臺(tái)線程并在destory()中殺死。它可以用于模擬操作系統(tǒng)的端口監(jiān)控進(jìn)程。 servlet API提供了Servlet接口的直接實(shí)現(xiàn),稱為GenericServlet。此類提供除了service()方法外所有接口中方法的缺省實(shí)現(xiàn)。這意味著通過簡(jiǎn)單地?cái)U(kuò)展GenericServlte可以編寫一個(gè)基

4、本的servlet。 除了Servlet接口外,GenericServlet也實(shí)現(xiàn)了ServletConfig接口,處理初始化參數(shù)和servlet上下文,提供對(duì)授權(quán)傳遞到init()方法中的ServletConfig對(duì)象的方法。 GenericServlet類中的方法 void destory() 編飛組成單詞“destory”的一個(gè)注冊(cè)入口 String getInitParameter(String name) 返回具有指定名稱的初始化參數(shù)值。通過凋用config.getInitParameter(name)實(shí)現(xiàn)。 Enumeration getInitParameterNames() 返

5、回此servet已編碼的所有初始化參數(shù)的?個(gè)枚舉類型值。調(diào)用config.getInitParameterNames()獲得列表。如果未提供初始化參數(shù),則返回?個(gè)空的枚舉類型值(但不是null) ServletConfig getServletConfig() 返回傳遞到init()方法的ServletConfig對(duì)象 ServletContext getServletContext() 返回在config對(duì)象中引用的ServletContext String getServletInfo() 返回空字符串 void init(ServletConfig config)throws Servl

6、etException 在一實(shí)例變量中保存config對(duì)象。編寫組成單詞“init”的注冊(cè)入口,然后調(diào)用方法init() void init()throws ServletException 可以被跳過以處理servlet初始化.在config對(duì)象被保存后init(ServletConfig config)的結(jié)尾處自動(dòng)被調(diào)用.servlet作者經(jīng)常會(huì)忘記調(diào)用super.init(config) void log(String msg) 編寫注冊(cè)servlet的入口.為此調(diào)用servlet上下文的log()方法.servlet的名字被加到消息文本的開頭。 void log(String msg,

7、Throwable t) 編寫一個(gè)入口和servlet注冊(cè)的棧軌跡。此方法也是ServletContext中相應(yīng)方法的一個(gè)副本。 abstract void service(Request request,Response response)throws ServletException,IOException 由servlet引擎調(diào)用為請(qǐng)求對(duì)象描述的請(qǐng)求提供服務(wù)。這是GenericServlet中唯一的抽象方法。因此它也是唯一必須被子類所覆蓋的方法。 String getServletName() 返回在Web應(yīng)用發(fā)布描述器(web.xml)中指定的servlet的名字。 三、javax.s

8、ervlet.http.HttpServlet類(HTTP版本) 雖然servlet API允許擴(kuò)展到其它協(xié)議,但最終所有的servlet均在Web環(huán)境下實(shí)施操作,只有幾種servlet直接擴(kuò)展了GenericServlet。對(duì)servlet更一般的是擴(kuò)展其HTTP子類HttpServlet。 HttpServlet 類通過調(diào)用指定到HTTP請(qǐng)求方法的方法實(shí)現(xiàn)service(),亦即對(duì)DELETE、HEAD、GET、OPTIONS、POST、PUT和 TRACE,分別調(diào)用doDelete()、doHead()、doGet()、doOptions()、doPost()、doPut()和 doTr

9、ace()方法,將請(qǐng)求和響應(yīng)對(duì)象置入其HTTP指定子類。 HttpServlet類中的方法 Void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎調(diào)用用處理一個(gè)HTTP GET請(qǐng)求。輸入?yún)?shù)、HTTP頭標(biāo)和輸入流可從request對(duì)象、response頭標(biāo)和response對(duì)象的輸出流中獲得。 Void doPost(HttpServletRequest request,HttpServletResponse respons

10、e)throws ServletException,IOException 由servlet引擎調(diào)用用處理一個(gè)HTTP POST請(qǐng)求。輸入?yún)?shù)、HTTP頭標(biāo)和輸入流可從request對(duì)象、response頭標(biāo)和response對(duì)象的輸出流中獲得。 Void doPut(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎調(diào)用用處理一個(gè)HTTP PUT請(qǐng)求。本方法中請(qǐng)求URI指出被載入的文件位置。 Void doDelete(HttpServle

11、tRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎調(diào)用用處理一個(gè)HTTP DELETE請(qǐng)求。請(qǐng)求URI指出資源被刪除。 Void doOptions(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎調(diào)用用處理一個(gè)HTTP OPTIONS請(qǐng)求。返回一個(gè)Allow響應(yīng)頭標(biāo)表明此servlet支持的HTTP方法。一

12、個(gè)servlet不需要覆蓋此方法,因?yàn)?HttpServlet方法已經(jīng)實(shí)現(xiàn)規(guī)范所需的功能。 Void doTrace(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException 由servlet引擎調(diào)用用處理一個(gè)HTTP TRACE請(qǐng)求。使得請(qǐng)求頭標(biāo)被反饋成響應(yīng)關(guān)標(biāo)。一個(gè)servlet不需要覆蓋此方法,因?yàn)镠ttpServlet方法已經(jīng)實(shí)現(xiàn)HTTP規(guī)范所需的功能。 Void service(HttpServletRequest request,HttpServletRes

13、ponse response)throws ServletException,IOException Service(Request request,Response response)調(diào)用的一個(gè)立即方法,帶有指定HTTP請(qǐng)求和響應(yīng)。此方法實(shí)際上將請(qǐng)求導(dǎo)向doGet()、doPost()等等。不應(yīng)該覆蓋此方法。 Void service(Request request,Response response)throws ServletException,IOException 將請(qǐng)求和響應(yīng)對(duì)象置入其指定的HTTP子類,并調(diào)用指定HTTP的service()方法。 四、javax.servlet.

14、ServletRequest類(協(xié)議無關(guān)版本) ServletRequest接口封裝了客戶端請(qǐng)求的細(xì)節(jié)。它與協(xié)議無關(guān),并有一個(gè)指定HTTP的子接口。 ServletRequest主要處理: 1.找到客戶端的主機(jī)名和IP地址 2.檢索請(qǐng)求參數(shù) 3.取得和設(shè)置屬性 4.取得輸入和輸出流 ServletRequest類中的方法 Object getAttribute(String name) 返回具有指定名字的請(qǐng)求屬性,如果不存在則返回null。屬性可由servlet引擎設(shè)置或使用setAttribute()顯式加入。 Enumeration getAttributeName() 返回請(qǐng)求中所有屬性

15、名的枚舉。如果不存在屬性,則返回一個(gè)空的枚舉。 String getCharacteEncoding() 返回請(qǐng)求所用的字符編碼。 Int getContentLength() 指定輸入流的長(zhǎng)度,如果未知?jiǎng)t返回-1。 ServletInputStream getInputStream()throws IOException 返回與請(qǐng)求相關(guān)的(二進(jìn)制)輸入流??梢哉{(diào)用getInputStream()或getReader()方法之一。 String getParameter(String name) 返回指定輸入?yún)?shù),如果不存在,返回null。 Enumeration getParameterNa

16、me() 返回請(qǐng)求中所有參數(shù)名的一個(gè)可能為空的枚舉。 String getParameterValues(String name) 返回指定輸入?yún)?shù)名的取值數(shù)組,如果取值不存在則返回null。它在參數(shù)具有多個(gè)取值的情況下十分有用。 String get Protocol() 返回請(qǐng)求使用協(xié)議的名稱和版本。 String getScheme() 返回請(qǐng)求URI的子串,但不包含第一個(gè)冒號(hào)前的內(nèi)容。 String getServerName() 返回處理請(qǐng)求的服務(wù)器的主機(jī)名。 String getServerPort() 返回接收主機(jī)正在偵聽的端口號(hào)。 BufferedReader getReade

17、r()throws IOException 返回與請(qǐng)求相關(guān)輸入數(shù)據(jù)的一個(gè)字符解讀器。此方法與getInputStream()只可分別調(diào)用,不能同時(shí)使用。 String getRemoteAddr() 返回客戶端主機(jī)的數(shù)字型IP地址。 String getRemoteHost() 如果知道,返回客戶端主機(jī)名。 void setAttribute(String name,Object obj) 以指定名稱保存請(qǐng)求中指定對(duì)象的引用。 void removeAttribute(String name) 從請(qǐng)求中刪除指定屬性 Locale getLocale() 如果已知,返回客戶端的第一現(xiàn)場(chǎng)或者為nu

18、ll。 Enumeration getLocales() 如果已知,返回客戶端的第一現(xiàn)場(chǎng)的一個(gè)枚舉,否則返回服務(wù)器第一現(xiàn)場(chǎng)。 boolean isSecure() 如果請(qǐng)求使用了如HTTPS安全隧道,返回true RequestDispatcher getRequestDispatcher(String name) 返回指定源名稱的RequsetDispatcher對(duì)象。 五、javax.servlet.http.HttpServletRequest接口(HTTP版本) HttpServletRequest類主要處理: 1.讀取和寫入HTTP頭標(biāo) 2.取得和設(shè)置cookies 3.取得路徑信息

19、 4.標(biāo)識(shí)HTTP會(huì)話。 HttpServletRequest接口中的方法 String getAuthType() 如果servlet由一個(gè)鑒定方案所保護(hù),如HTTP基本鑒定,則返回方案名稱。 String getContextPath() 返回指定servlet上下文(web應(yīng)用)的URL的前綴。 Cookie getCookies() 返回與請(qǐng)求相關(guān)cookie的一個(gè)數(shù)組。 Long getDateHeader(String name) 將輸出轉(zhuǎn)換成適合構(gòu)建Date對(duì)象的long類型取值的getHeader()的簡(jiǎn)化版。 String getHeader(String name) 返回指

20、定的HTTP頭標(biāo)指。如果其由請(qǐng)求給出,則名字應(yīng)為大小寫不敏感。 Enumeration getHeaderNames() 返回請(qǐng)求給出的所有HTTP頭標(biāo)名稱的權(quán)舉值。 Enumeration getHeaders(String name) 返回請(qǐng)求給出的指定類型的所有HTTP頭標(biāo)的名稱的枚舉值,它對(duì)具有多取值的頭標(biāo)非常有用。 int getIntHeader(String name) 將輸出轉(zhuǎn)換為int取值的getHeader()的簡(jiǎn)化版。 String getMethod() 返回HTTP請(qǐng)求方法(例如GET、POST等等) String getPathInfo() 返回在URL中指定的任意

21、附加路徑信息。 String getPathTranslated() 返回在URL中指定的任意附加路徑信息,被子轉(zhuǎn)換成一個(gè)實(shí)際路徑。 String getQueryString() 返回查詢字符串,即URL中?后面的部份。 String getRemoteUser() 如果用戶通過鑒定,返回遠(yuǎn)程用戶名,否則為null。 String getRequestedSessionId() 返回客戶端的會(huì)話ID String getRequestURI() 返回URL中一部分,從“/”開始,包括上下文,但不包括任意查詢字符串。 String getServletPath() 返回請(qǐng)求URI上下文后的子串

22、 HttpSession getSession() 調(diào)用getSession(true)的簡(jiǎn)化版。 HttpSession getSession(boolean create) 返回當(dāng)前HTTP會(huì)話,如果不存在,則創(chuàng)建一個(gè)新的會(huì)話,create參數(shù)為true。 Principal getPrincipal() 如果用戶通過鑒定,返回代表當(dāng)前用戶的java.security.Principal對(duì)象,否則為null。 boolean isRequestedSessionIdFromCookie() 如果請(qǐng)求的會(huì)話ID由一個(gè)Cookie對(duì)象提供,則返回true,否則為false。 boolean i

23、sRequestedSessionIdFromURL() 如果請(qǐng)求的會(huì)話ID在請(qǐng)求URL中解碼,返回true,否則為false boolean isRequestedSessionIdValid() 如果客戶端返回的會(huì)話ID仍然有效,則返回true。 Boolean isUserInRole(String role) 如果當(dāng)前已通過鑒定用戶與指定角色相關(guān),則返回true,如果不是或用戶未通過鑒定,則返回false。 六、javax.servlet.ServletResponse接口(協(xié)議無關(guān)版本) ServletResponse對(duì)象將一個(gè)servlet生成的結(jié)果傳到發(fā)出請(qǐng)求的客戶端。Servl

24、etResponse操作主要是作為輸出流及其內(nèi)容類型和長(zhǎng)度的包容器,它由servlet引擎創(chuàng)建. ServletResponse接口中的方法 void flushBuffer()throws IOException 發(fā)送緩存到客戶端的輸出內(nèi)容。因?yàn)镠TTP需要頭標(biāo)在內(nèi)容前被發(fā)送,調(diào)用此方法發(fā)送狀態(tài)行和響應(yīng)頭標(biāo),以確認(rèn)請(qǐng)求。 int getBufferSize() 返回響應(yīng)使用的緩存大小。如果緩存無效則返加0。 String getCharacterEncoding() 返回響應(yīng)使用字符解碼的名字。除非顯式設(shè)置,否則為ISO-8859-1 Locale getLocale() 返回響應(yīng)使用的現(xiàn)場(chǎng)

25、。除非用setLocale()修改,否則缺省為服務(wù)器現(xiàn)場(chǎng)。 OutputStream getOutputStream()throws IOException 返回用于將返回的二進(jìn)制輸出寫入客戶端的流,此方法和getWrite()方法二者只能調(diào)用其一。 Writer getWriter()throws IOException 返回用于將返回的文本輸出寫入客戶端的一個(gè)字符寫入器,此方法和getOutputStream()二者只能調(diào)用其一。 boolean isCommitted() 如果狀態(tài)和響應(yīng)頭標(biāo)已經(jīng)被發(fā)回客戶端,則返回true,在響應(yīng)被確認(rèn)后發(fā)送響應(yīng)頭標(biāo)毫無作用。 void reset()

26、清除輸出緩存及任何響應(yīng)頭標(biāo)。如果響應(yīng)已得到確認(rèn),則引發(fā)事件IllegalStateException。 void setBufferSize(int nBytes) 設(shè)置響應(yīng)的最小緩存大小。實(shí)際緩存大小可以更大,可以通過調(diào)用getBufferSize()得到。如果輸出已被寫入,則產(chǎn)生IllegalStateException。 void setContentLength(int length) 設(shè)置內(nèi)容體的長(zhǎng)度。 void setContentType(String type) 設(shè)置內(nèi)容類型。在HTTP servlet中即設(shè)置Content-Type頭標(biāo)。 void setLocale(Loc

27、ale locale) 設(shè)置響應(yīng)使用的現(xiàn)場(chǎng)。在HTTP servlet中,將對(duì)Content-Type頭標(biāo)取值產(chǎn)生影響。 七、javax.servlet.http.HttpServletResponse接口(HTTP版本) HttpServletResponse加入表示狀態(tài)碼、狀態(tài)信息和響應(yīng)頭標(biāo)的方法,它還負(fù)責(zé)對(duì)URL中寫入一Web頁面的HTTP會(huì)話ID進(jìn)行解碼。 HttpServletResponse接口中的方法 void addCookie(Cookie cookie) 將一個(gè)Set-Cookie頭標(biāo)加入到響應(yīng)。 void addDateHeader(String name,long da

28、te) 使用指定日期值加入帶有指定名字(或代換所有此名字頭標(biāo))的響應(yīng)頭標(biāo)的方法。 void setHeader(String name,String value) 設(shè)置具有指定名字和取值的一個(gè)響應(yīng)頭標(biāo)。 void addIntHeader(String name,int value) 使用指定整型值加入帶有指定名字的響應(yīng)頭標(biāo)(或代換此名字的所有頭標(biāo))。 boolean containsHeader(String name) 如果響應(yīng)已包含此名字的頭標(biāo),則返回true。 String encodeRedirectURL(String url) 如果客戶端不知道接受cookid,則向URL加入會(huì)話

29、ID。第一種形式只對(duì)在sendRedirect()中使用的URL進(jìn)行調(diào)用。其他被編碼的 URLs應(yīng)被傳遞到encodeURL() String encodeURL(String url) void sendError(int status) 設(shè)置響應(yīng)狀態(tài)碼為指定值(可選的狀態(tài)信息)。HttpServleetResponse定義了一個(gè)完整的整數(shù)常量集合表示有效狀態(tài)值。 void sendError(int status,String msg) void setStatus(int status) 設(shè)置響應(yīng)狀態(tài)碼為指定指。只應(yīng)用于不產(chǎn)生錯(cuò)誤的響應(yīng),而錯(cuò)誤響應(yīng)使用sendError()。 八、接口

30、一個(gè)servlet上下文是servlet引擎提供用來服務(wù)于Web應(yīng)用的接口。Servlet上下文具有名字(它屬于Web應(yīng)用的名字)唯一映射到文件系統(tǒng)的一個(gè)目錄。 一個(gè)servlet可以通過ServletConfig對(duì)象的getServletContext()方法得到servlet上下文的引用,如果servlet直接或間接調(diào)用子類GenericServlet,則可以使用getServletContext()方法。 Web應(yīng)用中servlet可以使用servlet上下文得到: 1.在調(diào)用期間保存和檢索屬性的功能,并與其他servlet共享這些屬性。 2.讀取Web應(yīng)用中文件內(nèi)容和其他靜態(tài)資源的功能

31、。 3.互相發(fā)送請(qǐng)求的方式。 4.記錄錯(cuò)誤和信息化消息的功能。 ServletContext接口中的方法 Object getAttribute(String name) 返回servlet上下文中具有指定名字的對(duì)象,或使用已指定名捆綁一個(gè)對(duì)象。從Web應(yīng)用的標(biāo)準(zhǔn)觀點(diǎn)看,這樣的對(duì)象是全局對(duì)象,因?yàn)樗鼈兛梢员煌?servlet在另一時(shí)刻訪問?;蛏舷挛闹腥我馄渌鹲ervlet訪問。 void setAttribute(String name,Object obj) 設(shè)置servlet上下文中具有指定名字的對(duì)象。 Enumeration getAttributeNames() 返回保存在servl

32、et上下文中所有屬性名字的枚舉。 ServletContext getContext(String uripath) 返回映射到另一URL的servlet上下文。在同一服務(wù)器中URL必須是以“/”開頭的絕對(duì)路徑。 String getInitParameter(String name) 返回指定上下文范圍的初始化參數(shù)值。此方法與ServletConfig方法名稱不一樣,后者只應(yīng)用于已編碼的指定servlet。此方法應(yīng)用于上下文中所有的參數(shù)。 Enumeration getInitParameterNames() 返回(可能為空)指定上下文范圍的初始化參數(shù)值名字的枚舉值。 int getMajo

33、rVersion() 返回此上下文中支持servlet API級(jí)別的最大和最小版本號(hào)。 int getMinorVersion() String getMimeType(String fileName) 返回指定文件名的MIME類型。典型情況是基于文件擴(kuò)展名,而不是文件本身的內(nèi)容(它可以不必存在)。如果MIME類型未知,可以返回null。 RequestDispatcher getNameDispatcher(String name) 返回具有指定名字或路徑的servlet或JSP的RequestDispatcher。如果不能創(chuàng)建RequestDispatch,返回null。如果指定路徑,必須心“/”開頭,并且是相對(duì)于servlet上下文的頂部。 RequestDispatcher getNameDispatcher(String path) String getRealPath(String path) 給定一個(gè)URI,返回文件系統(tǒng)中URI對(duì)應(yīng)的絕對(duì)路徑。如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論