【摘要】:Java Servlet是一个基于Java 技术的Web 组件,运行在服务器端,由Servlet 容器所管理,用于生成动态的内容。Servlet 是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet 规范编写一个Java 类。目前Servlet 最新的版本是Servlet 4.0。进程外Servlet 容器对客户请求的响应速度不如进程内的Servlet 容器,但进程外容器具有更好的伸缩性和稳定性。
Java Servlet(Java 服务器小程序)是一个基于Java 技术的Web 组件,运行在服务器端,由Servlet 容器所管理,用于生成动态的内容。Servlet 是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet 规范编写一个Java 类。Servlet被编译为平台中立的字节码,可以被动态地加载到支持Java 技术的Web 服务器中运行。目前Servlet 最新的版本是Servlet 4.0。
在Java 领域可能经常会听到一个概念——“Servlet 容器”,许多人常常分不清Web服务器与Servlet 容器,那么什么是Servlet 容器呢?Servlet 容器也叫做Servlet引擎,是Web 服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME 的请求,格式化基于MIME 的响应。Servlet 容器在Servlet的生命周期内包容和管理Servlet。
根据Servlet 容器工作模式的不同,可以将Servlet 容器分为以下3 类:
1.独立的Servlet 容器
当使用基于Java 技术的Web 服务器时,Servlet 容器作为构成Web 服务器的一部分而存在。然而大多数的Web 服务器并非基于Java,因此,又有了下面另外两种Servlet容器的工作模式。(www.chuimin.cn)
2.进程内的Servlet 容器
Servlet 容器由Web 服务器插件和Java 容器两部分的实现组成。Web 服务器插件在某个Web 服务器内部地址空间中打开一个JVM(Java 虚拟机),使得Java 容器可以在此JVM 中加载并运行Servlet。如有客户端调用Servlet 的请求到来,插件取得对此请求的控制并将它传递(使用JNI 技术)给Java 容器,然后由Java 容器将此请求交由Servlet 进行处理。进程内的Servlet 容器对于单进程、多线程的服务器非常适合,提供了较高的运行速度,但伸缩性有所不足。
3.进程外的Servlet 容器
Servlet 容器运行于Web 服务器之外的地址空间,它也是由Web 服务器插件和Java容器两部分的实现组成的。Web 服务器插件和Java 容器(在外部JVM 中运行)使用IPC机制(通常是TCP/IP)进行通信。当一个调用Servlet 的请求到达时,插件取得对此请求的控制并将其传递(使用IPC 机制)给Java 容器。进程外Servlet 容器对客户请求的响应速度不如进程内的Servlet 容器,但进程外容器具有更好的伸缩性和稳定性。
相关推荐