servlet2.3规范之一——概述
第1章 概述1.1 Servlet是什么?Servlet是一项基于web组件,由容器管理,生成动态内容的Java技术。和其他基于组件的Java技术类似,servlet是些平台无关的Java类,被编译成平台无关的字节码,由支持Java的web服务器动态加载并运行。容器,有时称为servlet引擎,是提供servlet功能的web服务器扩展。Servlet通过servlet容器实现的请求/响应
第1章 概述
1.1 Servlet是什么?
Servlet是一项基于web组件,由容器管理,生成动态内容的Java技术。和其他基于组件的Java技术类似,servlet是些平台无关的Java类,被编译成平台无关的字节码,由支持Java的web服务器动态加载并运行。容器,有时称为servlet引擎,是提供servlet功能的web服务器扩展。Servlet通过servlet容器实现的请求/响应形式来与web客户端交互。
1.2 Servlet容器是什么?
Servlet容器是web服务器或应用服务器的一部分,提供发送请求和响应的网络服务,对基于MIME的请求编码,并且格式化基于MIME的响应。Servlet容器还通过servlet的生命周期对它们容纳和管理。
Servlet可以构建于本地web服务器内,或者通过服务器的本地扩展API以附加组件形式安装到Web服务器。Servlet容器还可以构建于或者可能安装在支持web的应用服务器内。
所有servlet容器必须支持HTTP作为请求和响应的协议,但是基于HTTPS(SSL上的HTTP)协议的附加请求/响应可以选择支持。容器必须实现的HTTP规范最低版本是HTTP/1.0。强烈建议容器同时要实现HTTP/1.1规范。
Servlet容器可以在servlet执行的环境中设置安全限制。在Java2平台,J2SE1.2或者J2EE1.3环境,这些限制应当使用Java2平台定义的许可体系来设置。比如,高端应用服务器可以限制Thread对象的创建,以确保容器的其他组件不会被拒绝嵌入。
J2SE1.2是构建servlet容器的底层Java平台的最低版本。
1.3 一个例子
下列是一个典型的事件序列:
1. 客户端(也就是web浏览器)访问web服务器,发出HTTP请求。
2. 请求由web服务器接收,转给servlet容器。Servlet容器可以和本地web服务器运行于相同的进程内,相同主机的不同进程,或者和处理请求的web服务器不同的主机。
3. Servlet容器根据servlet的配置决定调用哪一个servlet,然后使用表示请求和响应的对象来调用。
4. Servlet使用request对象来找出远程用户是谁,可能作为请求一部分发送的HTTP POST参数以及其他相关数据是什么。无论被编程为什么样的逻辑,都由servlet执行,然后生成数据发送回客户端。它通过response对象把数据发送回客户端。
5. 一旦servlet已经完成了请求处理,servlet容器确保响应被适当刷新,然后将控制返回给本地web服务器。
1.4 比较Servlet和其他技术
在功能方面,servlet介于CGI(Common Gateway Interface)程序和专有服务器扩展比如NSAPI(Netscape Server API)或Apache模块之间。
Servlet相比其他服务器扩展机制有以下优点:
• 它们通常要比CGI脚本更快,因为使用一个不同的进程模块。
• 它们使用很多web服务器支持的标准API。
• 它们具有Java编程语言的所有优点,包括容易开发和平台无关。
• 它们可以访问Java平台可用的大量的API。
1.5 与J2EE的关系
Servlet API 2.3是J2EE1.31必需的API。部署它们的servlet容器和servlet必须满足J2EE规范中描述的其他需求,以在J2EE环境中执行。
1. 请参见J2EE规范(http://java.sun.com/j2ee/)。
更多推荐
所有评论(0)