一.Tomcat目录
tomcat
|---bin Tomcat:存放启动和关闭tomcat脚本;
|---conf Tomcat:存放不同的配置文件(server.xml和web.xml);
|---doc:存放Tomcat文档;
|---lib/japser/common:存放Tomcat运行需要的库文件(JARS);
|---logs:存放Tomcat执行时的LOG文件;
|---src:存放Tomcat的源代码;
|---webapps:Tomcat的主要Web发布目录(包括应用程序示例);
|---work:存放jsp编译后产生的class文件;
二.Tomcat工作原理
Tomcat是Servlet运行环境(容器),每个servlet执行init(),service(),destory()
以下是servlet的作用
Servlet的调用
Tomcat的工作模式3种:独立Servlet,进程内servlet,进程外servlet。
Tomcat是一个基于组件的服务器,他的构建组件都是可以配置的,其中最外层的组件是Catalina Servlet容器,其他组阿金一定要按照一定的格式要求配置在这个顶层的容器中。
Tomcat各个组件是在$CATLINA_HOME/conf/server.xml文件中配置的。
<Server> 顶层类元素,可包含多个service
<Service> 顶层类元素,可包含一个Engine和多个Connector
<Connector/> 链接类容器,代表通信接口
<Engine> 容器元素,为Service处理客户请求,含多个Host
<Host> 容器元素,为Host处理客户请求,含多个Context
<Context/> 容器元素,为Web应用处理客户请求
</Host>
</Engine>
</Service>
</Server>
一个java web应用在Tomcat中与一个Context对应,是一一对应关系。
Java Web应该可以包含如下内容:
Servlet
JSP pages
Java Classes
static resources(HTML documents, pictures, etc.)
Description Documents of Web Applications.
=========================================================================
1 - Tomcat Server的组成部分
1.1 - Server
A Server element represents the entire Catalina servlet container. (Singleton)
1.2 - Service
A Service element represents the combination of one or more Connector components that share a single Engine
Service是这样一个集合:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Connector所获得的客户请求
1.3 - Connector
一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户
TOMCAT有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其它WebServer的请求
Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求
Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的servlet/jsp代理请求
1.4 - Engine
The Engine element represents the entire request processing machinery associated with a particular Service
It receives and processes all requests from one or more Connectors
and returns the completed response to the Connector for ultimate transmission back to the client
Engine下可以配置多个虚拟主机Virtual Host,每个虚拟主机都有一个域名
当Engine获得一个请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host来处理
Engine有一个默认虚拟主机,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理
1.5 - Host
代表一个Virtual Host,虚拟主机,每个虚拟主机和某个网络域名Domain Name相匹配
每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path
当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理
匹配的方法是“最长匹配”,所以一个path==""的Context将成为该Host的默认Context
所有无法和其它Context的路径名匹配的请求都将最终和该默认Context匹配
1.6 - Context
一个Context对应于一个Web Application,一个Web Application由一个或者多个Servlet组成
Context在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml载入Servlet类
当Context获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类
如果找到,则执行该类,获得请求的回应,并返回
2 - Tomcat Server的结构图
3 - 配置文件$CATALINA_HOME/conf/server.xml的说明
该文件描述了如何启动Tomcat Server
4 - Context的部署配置文件web.xml的说明
一个Context对应于一个Web App,每个Web App是由一个或者多个servlet组成的
当一个Web App被初始化的时候,它将用自己的ClassLoader对象载入“部署配置文件web.xml”中定义的每个servlet类
它首先载入在$CATALINA_HOME/conf/web.xml中部署的servlet类
然后载入在自己的Web App根目录下的WEB-INF/web.xml中部署的servlet类
web.xml文件有两部分:servlet类定义和servlet映射定义
每个被载入的servlet类都有一个名字,且被填入该Context的映射表(mapping table)中,和某种URL PATTERN对应
当该Context获得请求时,将查询mapping table,找到被请求的servlet,并执行以获得请求回应
分析一下所有的Context共享的web.xml文件,在其中定义的servlet被所有的Web App载入
5 - Tomcat Server处理一个http请求的过程
假设来自客户的请求为:
http://localhost:8080/wsota/wsota_index.jsp
请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host
Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context
Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet
Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
Context把执行完了之后的HttpServletResponse对象返回给Host
Host把HttpServletResponse对象返回给Engine
Engine把HttpServletResponse对象返回给Connector
Connector把HttpServletResponse对象返回给客户browser
- 大小: 23.8 KB
- 大小: 29.3 KB
- 大小: 4.4 KB
分享到:
相关推荐
在IT领域,Web服务器和Tomcat服务器是两个关键的概念,它们在构建和部署Web应用程序时起着至关重要的作用。Web服务器主要处理HTTP协议,而Tomcat是一个应用服务器,特别是用于运行Java Servlet和JavaServer Pages...
标题"web服务器tomcat7.0"指的是Apache Tomcat,一个流行的开源Web服务器,专用于运行Java Servlet和JavaServer Pages(JSP)技术。这里特指的是Tomcat的7.0版本。 描述中提到的"tomcat 使用jsp开发web的web服务器...
总之,Tomcat 6.0是Java Web开发的重要组成部分,它的轻量级特性、强大的功能以及广泛的社区支持使其成为开发者和企业的首选Web服务器之一。不过,需要注意的是,由于安全性问题和新特性的缺乏,Tomcat 6.0已经不再...
【标题】:“Web服务器 Tomcat 6.0” 【描述】:“Tomcat 6.0 是一款广泛应用的开源Web服务器和Servlet容器,以其轻量级、高效和稳定性著称。它实现了Java Servlet和JavaServer Pages(JSP)技术,是Java EE应用...
总之,JerryMouse是一个旨在提供优秀用户体验的国产开源Web服务器,它继承了Tomcat的强大功能,同时在交互和易用性上有所提升。对于Java Web开发者而言,这是一个值得尝试和贡献的项目。通过深入研究其源码,不仅...
**Tomcat8 web服务器** Apache Tomcat 是一个开源的、基于Java Servlet和JavaServer Pages (JSP) 技术的应用服务器,它实现了Java EE(现在称为Jakarta EE)中的Web部分,尤其是Servlet和JSP规范。Tomcat8是Tomcat...
【标题】:“Web服务器Tomcat” 【描述】:“Tomcat7是一个广泛应用的开源Web服务器,它主要用于运行Java Servlet和JavaServer Pages(JSP)技术。这个版本是7.0.22,对于初学者和开发者来说,是一个很好的实践平台...
tomcat8 web服务器!!!!
Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。不过,Tomcat是自由的开源软件,而且...
Apache Tomcat 6.0是一款深受开发者欢迎的开源Web服务器和Servlet容器,它主要用于部署Java Web应用程序。这个版本是免费提供的,对初学者极其友好,是学习和开发Java Web项目的重要工具。 首先,Apache Tomcat是...
Web端的服务器Tomcat6,挺好用的,需要的朋友可以下载
【标题】"web服务器Tomcat_WIN764位"指的是Apache Tomcat服务器在Windows 7 64位操作系统上的版本。Tomcat是一个开源的应用服务器,主要用于运行Java Servlets和JavaServer Pages(JSP)。它是Java EE(现在称为...
Web 服务器与应用服务器配置(Apache+Tomcat&PHP) 本文将详细介绍 Web 服务器与应用服务器配置,包括 Apache、Tomcat 和 PHP 的安装、配置和集成。这些技术是 Web 开发和学习的基础,掌握它们可以帮助开发者更好地...
【标题】:“Web应用服务器Tomcat视频教程” 【描述】:本教程主要涵盖了与Web应用服务器Tomcat相关的知识,通过一系列视频课程,深入浅出地讲解了如何搭建LNMP架构,JDK的安装与配置,以及Tomcat的环境部署、目录...
本文将详细讲解如何在Tomcat服务器上部署Java Web项目。 首先,了解Tomcat的基本结构至关重要。Tomcat目录通常包含以下几个关键部分: 1. `bin`:存放可执行文件,如启动和停止Tomcat的脚本。 2. `conf`:配置文件...
IIS、Apache、Tomcat、Weblogic、WebSphere 都是不同的服务器, Apache 是纯粹的 Web 服务器,Tomcat 是一个 Servlet 和 JSP 容器,可以作为轻量级应用服务器,IIS 是一个兼具应用服务器功能的 Web 服务器,Weblogic...
tomcat-Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,版本6
Tomcat作为一个独立的Web服务器和Servlet容器,虽然在某些高级功能上可能不如Apache Web服务器强大,但其简洁和高效使其成为许多Java应用的首选。 在Linux上安装Tomcat前,首先需要安装Java运行环境,即J2SDK(Java...
本文将详细解析如何配置Tomcat作为Web服务器环境,以便开发者能够顺利地部署和运行自己的Web应用。 首先,我们需要了解Tomcat的基本结构。Tomcat包含了几个关键的目录,如`bin`(存放可执行文件)、`conf`(存储...
在本文中,我们将深入探讨Apache Tomcat的相关知识点,包括它的功能、配置、安装以及与Web服务器的关系。 **1. Apache Tomcat的功能** Apache Tomcat的核心功能是作为Servlet容器,用于处理和执行Java Servlets。...