Tomcat原本是Servlet/JSP的一个调试工具,后来才发展为一个Servlet/JSP的容器。

Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet并把结果返回给客户。

Servlet容器与Servlet接口是由Java Servlet API定义的。

Tomcat的四种组件

每个元素都代表了一个种Tomcat组件,它们可以分成四类:

第一种:顶层类元素

比如Server和Service

第二种:连接器类元素

连接器类元素代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应传递给客户。

第三种:容器类元素

容器类元素代表处理客户请求并生成响应结果的组件,有三种容器类元素:Engine、Host和Context。Engine为特定的Service组件处理所有客户的请求,Host组件为特定的虚拟主机处理所有的客户请求。Context组件为特定的Web应用处理所有的客户请求。

第四种:嵌套类元素

嵌套类元素代表了可以添加到容器中的组件,比如<Logger>元素、<Valve>元素和<Realm>元素。

Server代表整个Catalina Servlet容器,它是Tomcat实例的顶层元素,其中可以包含一个或者多个Service元素。

Service元素中包含一个Engine元素,以及一个或者个多个Connector元素,这些Connector共享同一个Engine元素。

Connector元素代表和客户程序实际交互的组件,它负责接受客户的请求,以及向客户返回响应结果。

每个Service元素只能包含一个Engine元素,Engine元素可以处理在同一个Service中所有Connector元素接受到的客户请求。

一个Engine元素中可以包含多个Host元素,每个Host元素定义了一个主机,它可以包含一个或者多个Web应用。

Context是使用得最频繁的元素,每个Context元素代表了运行在虚拟机上的单个Web应用,一个Host元素中可以包含多个Context元素。

Tomcat内部工作原理

从图中可以看出来,Connector负责接受客户的请求并向客户返回响应,在同一个Service中,多个Connector共享一个Engine。同一个Engine有多个Host,同一个Host有多个Context。

这里只是简单的介绍一下Tomcat的工作原理,但是内部比这个还是要复杂得多,以后再学习咯。

Tomcat内部结构及工作原理学习的更多相关文章

  1. Tomcat内部结构、工作原理、工作模式和运行模式

    TOMCAT的内部结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的是Catalina servlet容器,其他组件按照一定的格式要求配置在这个顶层容器中.Tomcat的 ...

  2. 【Tomcat】Servlet 工作原理解析

    Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的 ...

  3. 移动端自动化测试之Appium的工作原理学习

    Appium 简介 参考官网文档说明:http://appium.io/docs/en/about-appium/intro/ Appium官方文档上介绍,Appium 是一个自动化测试的开源工具,支 ...

  4. Tomcat内部结构及请求原理(转)

    Tomcat Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat的 ...

  5. Tomcat组成与工作原理

    laosijikaichele 关注  0.2 2018.06.02 10:44 字数 5175 阅读 2798评论 0喜欢 8 原文:https://juejin.im/post/58eb5fdda ...

  6. tomcat web容器工作原理

    Tomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色.JBoss直接就使用了Tomcat的web容器,WebLogic的早期版本也是使用了Tomcat的代码.Web容器的工作过程在下面 ...

  7. tomcat组成以及工作原理

    1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet Containe ...

  8. tomcat组成及工作原理

    1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet containe ...

  9. [转] tomcat组成及工作原理

    1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet containe ...

随机推荐

  1. Nodejs websocket入门

    websocket 2011年技术文档 http://www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/index.html 浏览器端接 ...

  2. jdbc 数据库连接

    连接数据库 1)通过Driver来连接(Driver:数据库厂商提供的一个接口) public void testDriver()throws Exception{ Driver driver = n ...

  3. ACM-ICPC LA 4329 Ping pong(树状数组)

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  4. Displaying Data in a Chart with ASP.NET Web Pages (Razor)

    This article explains how to use a chart to display data in an ASP.NET Web Pages (Razor) website by ...

  5. PAT——乙级真题1001代码

  6. Markdown 是什么

    tags: Markdown tags && syngx ###Markdown 是什么Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber).它允许人 ...

  7. MVC中使用jquery uploadify上传图片报302错误

    使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误.原来更新了fl ...

  8. Java比C++好在哪儿?

    1.内外局部变量,不允许重名,避免了C++的那种混淆. 2.语言层面支持多线程,大幅减少了线程同步所需的代码量. 3.匿名类,匿名函数,可以作为参数直接写在参数所需要的位置,而不需要在其它地方再定义实 ...

  9. NSURLSessionTask使用dispatch_semaphore 完成同步机制

    在NSURLSessionTask发起网路请求时,一般是异步操作,如果需要进行同步等待的话,可采用dispatch_semaphore_t信号量基于计数器的一种多线程同步机制.但是在多个线程访问共有资 ...

  10. 解决VS2015启动时Package manager console崩溃的问题 - Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope

    安装VS2015,启动以后,Package manager console崩溃,错误信息如下: Windows PowerShell updated your execution policy suc ...