Tomcat的工作模式

Easter79
• 阅读 843

Tomcat作为Servlet容器,有3种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。

1.独立的Servlet容器 
  独立的Servlet容器是Tomcat的默认模式。在这种模式下,Tomcat可以作为独立的Java Web服务器,Servlet容器作为构成Web服务器的一部分而存在。

2.进程内的Servlet容器 
  Tomcat作为进程内的Servlet容器时,Servlet容器是作为Web服务器的插件和Java容器的实现。
  Web服务器插件在内部地址空间打开一个JVM(Java Virtual Machine)使Java容器得以在内部运行。如有某个需要调用Servlet的请求,插件将取得对此请求的控制并将它传递(使用JNI)给Java容器。进程内的容器对于多线程、单线程的服务器非常适合,并且提供了很好的运行速度,只是伸缩性有所不足。
  注:JNI是Java Native Interface的简写,它是Java本地调用接口。通过这个接口,Java程序可以和其他语言编写的本地程序进行通信。

3.进程外的Servlet容器 
  Tomcat作为进程外的Servlet容器时,Servlet容器运行于Web服务器之外的地址空间,并且作为Web服务器的插件和Java容器的实现的结合。
  Web服务器插件和Java容器JVM使用IPC机制(通常是TCP/IP)进行通信。当一个调用Servlet的请求到达时,插件将取得对此请求的控制并将其传递(使用IPC等)给Java容器,进程外容器的反应时间或进程外容器引擎不如进程内容器,但进程外容器引擎在许多其他可比的方面更好(如伸缩性、稳定性等)。

注 :IPC是Interprocess Communication(进程间通信)的简写,它是实现进程间通信的一种技术。 
  Tomcat既可作为独立的容器(主要用于开发和调试),又可以作为对现有服务器的附加(当前支持Apache、IIS和Netscape服务器)。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
tomcat源码分析
摘要:在阅读tomcat源码前,我们一般都会有如下几个疑问:web容器和servlet容器的区别是什么;在springMVC中的web.xml是什么时候加载到tomcat中的;tomcat是怎么加载我们的web服务的;tomcat是怎么实现的热部署;一个http请求1.前言1.1问题思考在阅读tomcat源码前,我们
Wesley13 Wesley13
3年前
javaWeb 学习总结(一) Tomcat的安装与eclipse集成
一、Tomcat的下载和安装    在市场上有许多Web服务器支持Servlet。有些Web服务器是免费下载的,Tomcat就是其中的一个。ApacheTomcat是一款JavaServlet和JavaServerPages技术的开源软件实现,可以作为测试Servlet的独立服务器,而且可
Wesley13 Wesley13
3年前
Servlet的多线程机制与线程安全
Servlet的多线程机制     Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。Ser
Stella981 Stella981
3年前
SpringBoot连接常见设置
SpringBoot集成了Servlet容器,因此我们可以方便的启动一个容器,并访问其中的接口。那么如何控制Servlet容器中的线程池呢?可以通过如下配置进行控制server:tomcat:appcectcount:1minspacethreads:1maxthreads:
Wesley13 Wesley13
3年前
JavaWeb中的web.xml文件配置解析
一web.xml的文件重要性  web.xml是servlet规定的启动配置文件,凡属基于servlet的javaWeb容器必遵守这个规范,而目前主流的容器都是基于servlet的,因此可以理解web.xml是每个javaweb应用都离不开web.xml配置文件。  web.xml完整的名字应该叫做部署描述符
Stella981 Stella981
3年前
Servlet 原理
要介绍Servlet必须要先把Servlet容器说清楚,Servlet与Servlet容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接Servlet与Servlet容器的
Easter79 Easter79
3年前
SpringBoot连接常见设置
SpringBoot集成了Servlet容器,因此我们可以方便的启动一个容器,并访问其中的接口。那么如何控制Servlet容器中的线程池呢?可以通过如下配置进行控制server:tomcat:appcectcount:1minspacethreads:1maxthreads:
Stella981 Stella981
3年前
Servlet容器,过滤器,拦截器,监听器整理
Servlet容器JavaServlet是与平台无关的服务器端组件,运行于Servlet容器中(如Tomcat),Servlet容器负责Servlet和客户端的通信以及调用Servlet的方法,Servlet和客户端的通信采用“请求/响应”的模式。Servlet可完成以下功能:1、创建并返回基于客户请求的动态HTML页面。2、创建可以嵌入到
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k