六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Java Servlet API說明文檔(2.1a版)(一)

[摘要]緒言 這是一份關于2.1版Java Servlet API的說明文檔,作為對這本文檔的補充,你可以到http://java.sun.com/products/servlet/index.html下面下載Javadoc格式的文檔。 誰需要讀這份文檔 這份文檔描述了Jav...
緒言
這是一份關于2.1版Java Servlet API的說明文檔,作為對這本文檔的補充,你可以到http://java.sun.com/products/servlet/index.html下面下載Javadoc格式的文檔。

誰需要讀這份文檔
這份文檔描述了Java Servlet API的最新版本2.1版。所以,這本書對于Servlet的開發者及servlet引擎的開發者同樣適用。

Java Servlet API的組成
Java Servlet API由兩個軟件包組成:一個是對應HTTP的軟件包,另一個是不對應HTTP的通用的軟件包。這兩個軟件包的同時存在使得Java Servlet API能夠適應將來的其他請求-響應的協議。
這份文檔以及剛才提及的Javadoc格式的文檔都描述了這兩個軟件包,Javadoc格式的文檔還描述了你應該如何使用這兩個軟件包中的所有方法。

有關規范
你也許對下面的這些Internet規范感興趣,這些規范將直接影響到Servlet API的發展和執行。你可以從http://info.internet.isi.edu/7c/in-notes/rfc/.cache 找到下面提到的所有這些RFC規范。
RFC 1738 統一資源定位器(URL)
RFC 1808 相關統一資源定位器
RFC 1945 超文本傳輸協議--HTTP/1.0
RFC 2045 多用途Internet郵件擴展(多用途網際郵件擴充協議(MIME))第一部分:Internet信息體格式
RFC 2046 多用途Internet郵件擴展(多用途網際郵件擴充協議(MIME))第二部分:媒體類型
RFC 2047 多用途網際郵件擴充協議(MIME)(多用途Internet郵件擴展)第三部分:信息標題擴展用于非ASCII文本
RFC 2048 多用途Internet郵件擴展(多用途網際郵件擴充協議(MIME))第四部分: 注冊步驟
RFC 2049 多用途Internet郵件擴展(多用途網際郵件擴充協議(MIME))第五部分:一致性標準和例子
RFC 2068 超文本傳輸協議 -- HTTP/1.1
RFC 2069 一個擴展HTTP:摘要訪問鑒定
RFC 2109 HTTP狀態管理機制
RFC 2145 HTTP 版本號的使用和解釋
RFC 2324 超文本Coffee Pot控制協議 (HTCPCP/1.0)
萬維網協會(http://www.w3.org)管理著這些協議的規范和執行。


有關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具有平臺無關性。

Java Servlet概論
Servlet與其他普通的server擴展機制有以下進步:
因為它采用了不同的進程處理模式,所以它比CGI更快。
它使用了許多Web服務器都支持的標準的API。
它繼承了Java的所有優勢,包括易升級以及平臺無關性。
它可以調用Java所提供的大量的API的功能模塊。
這份文檔說明了Java Servlet API的類和接口的方法。有關更多的信息,請參看下面的API說明。

Servlet的生命周期
一個Java servlet具有一個生命周期,這個生命周期定義了一個Servlet如何被載入并被初始化,如何接收請求并作出對請求的響應,如何被從服務中清除。Servlet的生命周期被javax.servlet.Servlet這個接口所定義。
所有的Java Servlet都會直接地或間接地執行javax.servlet.Servlet接口,這樣它才能在一個Servlet引擎中運行。Servlet引擎是Web 服務器按照Java Servlet API定制的擴展。Servlet引擎提供網絡服務,能夠理解MIME請求,并提供一個運行Servlet的容器。
javax.servlet.Servlet接口定義了在Servlet的生命周期中特定時間以及特定順序被調用的方法。

Servlet的解析和載入\r
Servlet引擎解析并載入一個Servlet,這個過程可以發生在引擎啟動時,需要一個Servlet去響應請求時,以及在此之間的任何時候。
Servlet引擎利用Java類載入工具載入一個Servlet,Servlet引擎可以從一個本地的文件系統、一個遠程的文件系統以及網絡載入Servlet。

Servlet的初始化
Servlet引擎載入Servlet后,Servlet引擎必須對Servlet進行初始化,在這一過程中,你可以讀取一些固定存儲的數據、初始化JDBC的連接以及建立與其他資源的連接。
在初始化過程中,javax.servlet.Servlet接口的init()方法提供了Servlet的初始化信息。這樣,Servlet可以對自己進行配置。
init()方法獲得了一個Servlet配置對象(ServletConfig)。這個對象在Servlet引擎中執行,并允許Servlet通過它獲處相關參數。這個對象使得Servlet能夠訪問ServletContext對象。

Servlet處理請求\r
Servlet被初始化之后,它已經可以處理來自客戶端的請求,每一個來自客戶端的請求都被描述成一個ServletRequest對象,Servlet的響應被描述成一個ServletResponse對象。
當客戶端發出請求時,Servlet引擎傳遞給Servlet一個ServletRequest對象和一個ServletResponse對象,這兩個對象作為參數傳遞到service()方法中。
Servlet也可以執行ServletRequest接口和ServletResponse接口。ServletRequest接口使得Servlet有權使用客戶端發出的請求。Servlet可以通過ServletInputStream對象讀取請求信息。
ServletResponse接口允許Servlet建立響應頭和狀態代碼。通過執行這個接口,Servlet有權使用ServletOutputStream類來向客戶端返回數據。

多線程和映射\r
在多線程的環境下,Servlet必須能處理許多同時發生的請求。例外的情況是這個Servlet執行了SingleThreadModel接口,如果是那樣的話,Servlet只能同時處理一個請求。
Servlet依照Servlet引擎的映射來響應客戶端的請求。一個映射對包括一個Servlet實例以及一個Servlet返回數據的URL,例如:HelloServlet with /hello/index.html。
然而,一個映射可能是由一個URL和許多Servlet實例組成,例如:一個分布式的Servlet引擎可能運行在不止一個的服務器中,這樣的話,每一個服務器中都可能有一個Servlet實例,以平衡進程的載入。作為一個Servlet的開發者,你不能假定一個Servlet只有一個實例。

Servlet的卸載
Servlet引擎并不必需保證一個Servlet在任何時候或在服務開啟的任何時候都被載入。Servlet引擎可以自由的在任何時候使用或清除一個Servlet。因此,我們不能依賴一個類或實例來存儲重要的信息。
當Servlet引擎決定卸載一個Servlet時(例如,如果這個引擎被關閉或者需要讓資源),這個引擎必須允許Servlet釋放正在使用的資源并存儲有關資料。為了完成以上工作,引擎會調用Servlet的destroy()方法。
在卸載一個Servlet之前,Servlet引擎必須等待所有的service()方法完成或超時結束(Servlet引擎會對超時作出定義)。當一個Servlet被卸載時,引擎將不能給Servlet發送任何請求。引擎必須釋放Servlet并完成無用存儲單元的收集

Servlet映射技術\r
作為一個Servlet引擎的開發者,你必須對于如何映射客戶端的請求到Servlet有大量的適應性。這份說明文檔不規定映射如何發生。但是,你必須能夠自由地運用下面的所有技術:

映射一個Servlet到一個URL
例如,你可以指定一個特殊的Servlet它僅被來自/feedback/index.html的請求調用。

映射一個Servlet到以一個指定的目錄名開始的所有URL
例如,你可以映射一個Servlet到/catalog,這樣來自/catalog/、 /catalog/garden和/catalog/housewares/index.html的請求都會被映射到這個Servlet。但是來自/catalogtwo 或/catalog.html的請求沒被映射。

映射一個Servlet到所有以一個特定的字段結尾的所有URL
例如,你可以映射一個來自于所有以in.thtml結尾的請求到一個特定的Servlet。

映射一個Servlet到一個特殊的URL /servlet/servlet_name。
例如,如果你建立了一個名叫listattributes的Servlet,你可以通過使用/servlet/listattributes來訪問這個Servlet。

通過類名調用Servlet
例如,如果Servlet引擎接收了來自/servlet/com.foo.servlet.MailServlet的請求,Servlet引擎會載入這個com.foo.servlet.MailServlet類,建立實例,并通過這個Servlet來處理請求。

Servlet環境
ServletContext接口定義了一個Servlet環境對象,這個對象定義了一個在Servlet引擎上的Servlet的視圖。通過使用這個對象,Servlet可以記錄事件、得到資源并得到來自Servlet引擎的類(例如RequestDispatcher對象)。一個Servlet只能運行在一個Servlet環境中,但是不同的Servlet可以在Servlet引擎上有不同的視圖。
如果Servlet引擎支持虛擬主機,每個虛擬主機有一個Servlet環境。一個Servlet環境不能在虛擬主機之間共享。
Servlet引擎能夠允許一個Servlet環境有它自己的活動范圍。
例如,一個Servlet環境是屬于bank應用的,它將被映射到/bank目錄下。在這種情況下,一個對getContext方法的調用會返回/bank的Servlet環境。

HTTP會話
HTTP是一個沒有狀態的協議。要建立一個有效的Web服務應用,你必須能夠識別一個連續的來自遠端的客戶機的唯一的請求。隨著時間的過去,發展了許多會話跟蹤的技術,但是使用起來都比較麻煩。
Java Servlet API提供了一個簡單的接口,通過這個接口,Servlet引擎可以有效地跟蹤用戶的會話。

建立Session
因為HTTP是一個請求-響應協議,一個會話在客戶機加入之前會被認為是一個新的會話。加入的意思是返回會話跟蹤信息到服務器中,指出會話已被建立。在客戶端加入之前,我們不能判斷下一個客戶端請求是目前會話的一部分。
在下面的情況下,Session會被認為是新的Session。
客戶端的Session在此之前還不知道
客戶端選擇不加入Session,例如,如果客戶端拒絕接收來自服務器的cookie
作為一個Servlet的開發者,你必須決定你的Web應用是否處理客戶機不加入或不能加入Session。服務器會在Web服務器或Servlet規定的時間內維持一個Session對象。當Session終止時,服務器會釋放Session對象以及所有綁定在Session上的對象。
綁定對象到Session中
如果有助于你處理應用的數據需求,你也許需要綁定對象到Session中,你可以通過一個唯一的名字綁定任何的對象到Session中,這時,你需要使用HttpSession對象。任何綁定到Session上的對象都可以被處理同一會話的Servlet調用。
有些對象可能需要你知道什么時候會被放置到Session中或從Session中移開。你可以通過使用HttpSessionBindingListener接口獲得這些信息。當你的應用存儲數據到Session中,或從Session中清除數據,Servlet都會通過HttpSessionBindingListener檢杳什么類被綁定或被取消綁定。這個接口的方法會通報被綁定或被取消綁定的對象。


主站蜘蛛池模板: 热re久久精品国产99热 | 色狠狠综合 | 在线观看欧美视频 | 欧美午夜视频在线观看 | 青青青国产色视频在线观看 | 天天色综合图片 | 欧美洲大黑香蕉在线视频 | 日韩大片在线播放 | 一级黄色在线视频 | 综合激情五月婷婷 | 日韩毛片在线观看 | 中文字幕伦伦精品 | 亚洲成a人片77777老司机 | 色综合天天色 | 最好韩国日本高清免费 | 亚洲成a人片在线观看88 | 亚洲主播在线 | 日韩黄色一级 | 亚洲国产精品日韩专区avtube | 欲色影视 | 人人爱人人做 | 日韩在线视频导航 | 四虎.com | 五月综合激情久久婷婷 | 综合激情五月婷婷 | 四虎国产永久在线精品免费观看 | 日韩亚洲综合精品国产 | 小说区 亚洲 自拍另类 | 中文乱码一二三四有限公司 | 日韩精品国产精品 | 图片区小说区欧洲区 | 五月婷婷综合激情 | 天天做天天爱天天影视综合 | 日本一本在线观看 | 日产一区二区三区 | 日本高清视频在线www色下载 | 在线看片欧美 | 亚洲国产一区二区三区最新 | 亚洲手机在线观看 | 午夜国产精品久久久久 | 天天精品 |