servlet与servlet容器

 1、servlet与servlet容器

     Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,由servlet容器所管理,用于生成动态内容,Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立的字节码,可以被动态加载到支持Java技术的Web服务器中运行。

     什么是Servlet容器?Servlet容器有时候也叫做Servlet引擎,是Web服务器或应用服务器的一部分,用于在发送的请求和响应之上提供网络服务。Servlet容器在Servlet的生命周期内包容和管理Servle。

2、servlet容器的分类

     根据工作模式不同分三类:

     (1)独立的servlet容器

              当我们使用基于Java技术的Web服务器时,servlet容器作为构成Web服务器的一部分而存在

      (2)进程内的servlet容器

              servlet容器由Web服务器插件和Java容器两部分实现组成。Web服务器插件在某个Web服务器内部地址空间打开一个JVM,使得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与servlet容器
 摘自《孙鑫 Java详解》

相关推荐