欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Java Servlet API說(shuō)明文檔

譯者前言:
  近來(lái)在整理有關(guān)Servlet資料時(shí)發(fā)現,在網(wǎng)上竟然找不到一份中文的Java Servlet API的說(shuō)明文檔,而在有一本有關(guān)JSP的書(shū)后面附的Java Servlet API說(shuō)明竟然不全,而這份文檔的2.1a版在1998年的11月份就已定稿。所以我決定翻譯一份中文的文檔(其中一些與技術(shù)關(guān)系不大的部分已被略去),有興趣的讀者可以從http://java.sun.com/products/servlet/2.1/servletspec-2.1.zip下載原文閱讀。

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

  緒言
  這是一份關(guān)于2.1版Java Servlet API的說(shuō)明文檔,作為對這本文檔的補充,你可以到http://java.sun.com/products/servlet/index.html下面下載Javadoc格式的文檔。

  誰(shuí)需要讀這份文檔
  這份文檔描述了Java Servlet API的最新版本2.1版。所以,這本書(shū)對于Servlet的開(kāi)發(fā)者及servlet引擎的開(kāi)發(fā)者同樣適用。

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

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

  有關(guān)Java Servlets
  JavaTM servlets是一個(gè)不受平臺約束的Java小程序,它可以被用來(lái)通過(guò)多種方法擴充一個(gè)Web服務(wù)器的功能。你可以把Servlet理解成Server上的applets,它被編譯成字節碼,這樣它就可以被動(dòng)態(tài)地載入并用效地擴展主機的處理能力。
  Servlet與applets不同的地方是,它不運行在Web瀏覽器或其他圖形化的用戶(hù)界面上。Servlet通過(guò)servlet引擎運行在Web服務(wù)器中,以執行請求和響應,請求、響應的典型范例是HTTP協(xié)議。
  一個(gè)客戶(hù)端程序,可以是一個(gè)Web瀏覽器,或者是非其他的可以連接上Internet的程序,它會(huì )訪(fǎng)問(wèn)Web服務(wù)器并發(fā)出請求。這個(gè)請求被運行在Web服務(wù)器上的Servlet引擎處理,并返回響應到Servlet。Servlet通過(guò)HTTP將這個(gè)響應轉發(fā)到客戶(hù)端。
  在功能上,Servlet與CGI、NSAPI有點(diǎn)類(lèi)似,但是,與他們不同的是:Servlet具有平臺無(wú)關(guān)性。

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

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

  Servlet的解析和載入
  Servlet引擎解析并載入一個(gè)Servlet,這個(gè)過(guò)程可以發(fā)生在引擎啟動(dòng)時(shí),需要一個(gè)Servlet去響應請求時(shí),以及在此之間的任何時(shí)候。
  Servlet引擎利用Java類(lèi)載入工具載入一個(gè)Servlet,Servlet引擎可以從一個(gè)本地的文件系統、一個(gè)遠程的文件系統以及網(wǎng)絡(luò )載入Servlet。

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

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

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

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

  Servlet映射技術(shù)
  作為一個(gè)Servlet引擎的開(kāi)發(fā)者,你必須對于如何映射客戶(hù)端的請求到Servlet有大量的適應性。這份說(shuō)明文檔不規定映射如何發(fā)生。但是,你必須能夠自由地運用下面的所有技術(shù):

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

  映射一個(gè)Servlet到以一個(gè)指定的目錄名開(kāi)始的所有URL
  例如,你可以映射一個(gè)Servlet到/catalog,這樣來(lái)自/catalog/、 /catalog/garden和/catalog/housewares/index.html的請求都會(huì )被映射到這個(gè)Servlet。但是來(lái)自/catalogtwo 或/catalog.html的請求沒(méi)被映射。

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

  映射一個(gè)Servlet到一個(gè)特殊的URL /servlet/servlet_name。
  例如,如果你建立了一個(gè)名叫listattributes的Servlet,你可以通過(guò)使用/servlet/listattributes來(lái)訪(fǎng)問(wèn)這個(gè)Servlet。

  通過(guò)類(lèi)名調用Servlet
  例如,如果Servlet引擎接收了來(lái)自/servlet/com.foo.servlet.MailServlet的請求,Servlet引擎會(huì )載入這個(gè)com.foo.servlet.MailServlet類(lèi),建立實(shí)例,并通過(guò)這個(gè)Servlet來(lái)處理請求。

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

  HTTP會(huì )話(huà)
  HTTP是一個(gè)沒(méi)有狀態(tài)的協(xié)議。要建立一個(gè)有效的Web服務(wù)應用,你必須能夠識別一個(gè)連續的來(lái)自遠端的客戶(hù)機的唯一的請求。隨著(zhù)時(shí)間的過(guò)去,發(fā)展了許多會(huì )話(huà)跟蹤的技術(shù),但是使用起來(lái)都比較麻煩。
  Java Servlet API提供了一個(gè)簡(jiǎn)單的接口,通過(guò)這個(gè)接口,Servlet引擎可以有效地跟蹤用戶(hù)的會(huì )話(huà)。

  建立Session
  因為HTTP是一個(gè)請求-響應協(xié)議,一個(gè)會(huì )話(huà)在客戶(hù)機加入之前會(huì )被認為是一個(gè)新的會(huì )話(huà)。加入的意思是返回會(huì )話(huà)跟蹤信息到服務(wù)器中,指出會(huì )話(huà)已被建立。在客戶(hù)端加入之前,我們不能判斷下一個(gè)客戶(hù)端請求是目前會(huì )話(huà)的一部分。
  在下面的情況下,Session會(huì )被認為是新的Session。
  客戶(hù)端的Session在此之前還不知道
  客戶(hù)端選擇不加入Session,例如,如果客戶(hù)端拒絕接收來(lái)自服務(wù)器的cookie
  作為一個(gè)Servlet的開(kāi)發(fā)者,你必須決定你的Web應用是否處理客戶(hù)機不加入或不能加入Session。服務(wù)器會(huì )在Web服務(wù)器或Servlet規定的時(shí)間內維持一個(gè)Session對象。當Session終止時(shí),服務(wù)器會(huì )釋放Session對象以及所有綁定在Session上的對象。

  綁定對象到Session中
  如果有助于你處理應用的數據需求,你也許需要綁定對象到Session中,你可以通過(guò)一個(gè)唯一的名字綁定任何的對象到Session中,這時(shí),你需要使用HttpSession對象。任何綁定到Session上的對象都可以被處理同一會(huì )話(huà)的Servlet調用。
  有些對象可能需要你知道什么時(shí)候會(huì )被放置到Session中或從Session中移開(kāi)。你可以通過(guò)使用HttpSessionBindingListener接口獲得這些信息。當你的應用存儲數據到Session中,或從Session中清除數據,Servlet都會(huì )通過(guò)HttpSessionBindingListener檢杳什么類(lèi)被綁定或被取消綁定。這個(gè)接口的方法會(huì )通報被綁定或被取消綁定的對象。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
response.encodeURL的用法 - 神雕大俠 - JavaEye技術(shù)網(wǎng)站
如何自己寫(xiě)一個(gè)session的程序,不用j2ee提供的session api - Java...
結合百萬(wàn)程序員的經(jīng)歷總結出來(lái)——java小白改學(xué)啥?
Javaweb重要知識點(diǎn)總結(四) jsp 技術(shù)
圖解JSP與Servlet的關(guān)系
深入理解java技術(shù)之 Tomcat服務(wù)器詳解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久