译者前言:
近来在整理有关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具有平台无关性。