近來在整理有關Servlet資料時發現,在網上竟然找不到一份中文的Java Servlet API的說明文檔,而在有一本有關JSP的書后面附的Java Servlet API說明竟然不全,而這份文檔的2.1a版在1998年的11月份就已定稿。所以我決定翻譯一份中文的文檔(其中一些與技術關系不大的部分已被略去),有興趣的讀者可以從http://java.sun.com/products/servlet/2.1/servletspec-2.1.zip下載原文閱讀。
Java Servlet API說明文檔(2.1a版)
緒言
這是一份關于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具有平臺無關性。