熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Servlet中文API文檔

2022-06-13   來源: Java核心技術 

  javaxservletServlet接口

  servlet抽象集是javaxservletServlet接口它規定了必須由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 ServletExceptionIOException 處理request對象中描述的請求使用response對象返回請求結果

  String getServletInfo() 返回描述servlet的一個字符串

  void destory() 當servlet將要卸載時由servlet引擎調用

  javaxservletGenericServlet類(協議無關版本)

  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) 返回具有指定名稱的初始化參數值通過凋用configgetInitParameter(name)實現

  Enumeration getInitParameterNames() 返回此serv]et已編碼的所有初始化參數的?個枚舉類型值調用configgetInitParameterNames()獲得列表如果未提供初始化參數則返回?個空的枚舉類型值(但不是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作者經常會忘記調用superinit(config)

  void log(String msg) 編寫注冊servlet的入口為此調用servlet上下文的log()方法servlet的名字被加到消息文本的開頭

  void log(String msgThrowable t) 編寫一個入口和servlet注冊的棧軌跡此方法也是ServletContext中相應方法的一個副本

  abstract void service(Request requestResponse response)throws ServletExceptionIOException 由servlet引擎調用為請求對象描述的請求提供服務這是GenericServlet中唯一的抽象方法因此它也是唯一必須被子類所覆蓋的方法

  String getServletName() 返回在Web應用發布描述器(webxml)中指定的servlet的名字

  javaxservlethttpHttpServlet類(HTTP版本)

  雖然servlet API允許擴展到其它協議但最終所有的servlet均在Web環境下實施操作只有幾種servlet直接擴展了GenericServlet對servlet更一般的是擴展其HTTP子類HttpServlet

  HttpServlet 類通過調用指定到HTTP請求方法的方法實現service()亦即對DELETEHEADGETOPTIONSPOSTPUT和 TRACE分別調用doDelete()doHead()doGet()doOptions()doPost()doPut()和 doTrace()方法將請求和響應對象置入其HTTP指定子類

  HttpServlet類中的方法

  Void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException 由servlet引擎調用用處理一個HTTP GET請求輸入參數HTTP頭標和輸入流可從request對象response頭標和response對象的輸出流中獲得

  Void doPost(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException 由servlet引擎調用用處理一個HTTP POST請求輸入參數HTTP頭標和輸入流可從request對象response頭標和response對象的輸出流中獲得

  Void doPut(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException 由servlet引擎調用用處理一個HTTP PUT請求本方法中請求URI指出被載入的文件位置

  Void doDelete(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException 由servlet引擎調用用處理一個HTTP DELETE請求請求URI指出資源被刪除

  Void doOptions(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException 由servlet引擎調用用處理一個HTTP OPTIONS請求返回一個Allow響應頭標表明此servlet支持的HTTP方法一個servlet不需要覆蓋此方法因為 HttpServlet方法已經實現規范所需的功能

  Void doTrace(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException 由servlet引擎調用用處理一個HTTP TRACE請求使得請求頭標被反饋成響應關標一個servlet不需要覆蓋此方法因為HttpServlet方法已經實現HTTP規范所需的功能

  Void service(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException Service(Request requestResponse response)調用的一個立即方法帶有指定HTTP請求和響應此方法實際上將請求導向doGet()doPost()等等不應該覆蓋此方法

  Void service(Request requestResponse response)throws ServletExceptionIOException 將請求和響應對象置入其指定的HTTP子類並調用指定HTTP的service()方法

  

  javaxservletServletRequest類(協議無關版本)

  ServletRequest接口封裝了客戶端請求的細節它與協議無關並有一個指定HTTP的子接口

  ServletRequest主要處理

  找到客戶端的主機名和IP地址

  檢索請求參數

  取得和設置屬性

  取得輸入和輸出流

  ServletRequest類中的方法

  Object getAttribute(String name) 返回具有指定名字的請求屬性如果不存在則返回null屬性可由servlet引擎設置或使用setAttribute()顯式加入

  Enumeration getAttributeName() 返回請求中所有屬性名的枚舉如果不存在屬性則返回一個空的枚舉

  String getCharacteEncoding() 返回請求所用的字符編碼

  Int getContentLength() 指定輸入流的長度如果未知則返回

  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 nameObject obj) 以指定名稱保存請求中指定對象的引用

  void removeAttribute(String name) 從請求中刪除指定屬性

  Locale getLocale() 如果已知返回客戶端的第一現場或者為null

  Enumeration getLocales() 如果已知返回客戶端的第一現場的一個枚舉否則返回服務器第一現場

  boolean isSecure() 如果請求使用了如HTTPS安全隧道返回true

  RequestDispatcher getRequestDispatcher(String name) 返回指定源名稱的RequsetDispatcher對象

  Trackback: x?PostId=

  javaxservlethttpHttpServletRequest接口(HTTP版本)

  HttpServletRequest類主要處理

  讀取和寫入HTTP頭標

  取得和設置cookies

  取得路徑信息

  標識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請求方法(例如GETPOST等等)

  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() 如果用戶通過鑒定返回代表當前用戶的javasecurityPrincipal對象否則為null

  boolean isRequestedSessionIdFromCookie() 如果請求的會話ID由一個Cookie對象提供則返回true否則為false

  boolean isRequestedSessionIdFromURL() 如果請求的會話ID在請求URL中解碼返回true否則為false

  boolean isRequestedSessionIdValid() 如果客戶端返回的會話ID仍然有效則返回true

  Boolean isUserInRole(String role) 如果當前已通過鑒定用戶與指定角色相關則返回true如果不是或用戶未通過鑒定則返回false

   

  javaxservletServletResponse接口(協議無關版本)

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

  ServletResponse接口中的方法

  void flushBuffer()throws IOException 發送緩存到客戶端的輸出內容因為HTTP需要頭標在內容前被發送調用此方法發送狀態行和響應頭標以確認請求

  int getBufferSize() 返回響應使用的緩存大小如果緩存無效則返加

  String getCharacterEncoding() 返回響應使用字符解碼的名字除非顯式設置否則為ISO

  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中即設置ContentType頭標

  void setLocale(Locale locale) 設置響應使用的現場在HTTP servlet中將對ContentType頭標取值產生影響

  javaxservlethttpHttpServletResponse接口(HTTP版本)

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

  HttpServletResponse接口中的方法

  void addCookie(Cookie cookie) 將一個SetCookie頭標加入到響應

  void addDateHeader(String namelong date) 使用指定日期值加入帶有指定名字(或代換所有此名字頭標)的響應頭標的方法

  void setHeader(String nameString value) 設置具有指定名字和取值的一個響應頭標

  void addIntHeader(String nameint 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 statusString msg)

  void setStatus(int status) 設置響應狀態碼為指定指只應用於不產生錯誤的響應而錯誤響應使用sendError()

  javaxservletServletContext接口

  一個servlet上下文是servlet引擎提供用來服務於Web應用的接口Servlet上下文具有名字(它屬於Web應用的名字)唯一映射到文件系統的一個目錄

  一個servlet可以通過ServletConfig對象的getServletContext()方法得到servlet上下文的引用如果servlet直接或間接調用子類GenericServlet則可以使用getServletContext()方法

  Web應用中servlet可以使用servlet上下文得到

  在調用期間保存和檢索屬性的功能並與其他servlet共享這些屬性

  讀取Web應用中文件內容和其他靜態資源的功能

  互相發送請求的方式

  記錄錯誤和信息化消息的功能

  ServletContext接口中的方法

  Object getAttribute(String name) 返回servlet上下文中具有指定名字的對象或使用已指定名捆綁一個對象從Web應用的標准觀點看這樣的對象是全局對象因為它們可以被同一 servlet在另一時刻訪問或上下文中任意其他servlet訪問

  void setAttribute(String nameObject 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 messageThrowable t) 將一個消息寫入servlet注冊如果給出Throwable參數則包含棧軌跡

  void removeAttribute(String name) 從servlet上下文中刪除指定屬性

  javaxservlethttpHttpSession接口

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

  HttpSession接口中的方法

  Object getAttribute(String name) 將會話中一個對象保存為指定名字返回或刪除前面保存的此名稱對象

  void setAttribute(String nameObject value)

  void removeAttribute(String name)

  Enumeration getAttributeName() 返回捆綁到當前會話的所有屬性名的枚舉值

  long getCreationTime() 返回表示會話創建和最後訪問日期和時間的一個長整型該整型形式為javautilDate()構造器中使用的形式

  long getLastAccessedTime()

  String getId() 返回會話IDservlet引擎設置的一個唯一關鍵字

  ing getMaxInactiveInterval() 如果沒有與客戶端發生交互設置和返回會話存活的最大秒數

  void setMasInactiveInterval(int seconds)

  void invalidate() 使得會話被終止釋放其中任意對象

  boolean isNew() 如果客戶端仍未加入到會話返回true當會話首次被創建會話ID被傳入客戶端但客戶端仍未進行包含此會話ID的第二次請示時返回true


From:http://tw.wingwit.com/Article/program/Java/hx/201311/25653.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.