tomcat组成及原理[转]

Tomcat安装好后打开目录;可以看到如下结构:

bin :存放服务器脚本;

conf :存放配置文件;

lib :存放需要的JAR文件;

wabapps :存放需要发布的Web应用程序及其部署文件;

work :存放jsp 文件编绎生成的class文件;

logs :存放日志文件;

在conf目录下可以看到 Catalina 目录,context.xml, web.xml, server.xml 等(一些不是很重要的就不列出来了)。

server.xml被称为Tomcat的主配置文件或全局配置文件,它完成两个任务:1)提供Tomcat组件的初始配置2)说明Tomcat的结构,含义,使Tomcat通过实例化组件完成启动及构建自身。

server.xml中描述的重要元素有 Server ,Service ,Connector ,Engine ,Host ,Context .结构如下:它们的用处是:

Server:顶层元素,整个配置文件的根元素,表示整个Servlet容器或者Tomcat服务器包含多个Listener,一个GlobalNamingResources和一个Service

Service:一组Connector和一个Engine的集合,这组Connector共用一个Engine来处理所有Connector收到的请求,负责处理<Connector>所获得到的客户请求

Listener组: 监听器,用来管理Tomcat生命周期和全局资源

GlobalNamingResources:配置系统的JNDI(Java Naming and Directory Interface)

Connector组:连接器,代表外部客户之间的接口,将在一个指定的接口上侦听客户请求,并将获得的请求交给<Engine>进行处理,然后把处理结果返回给客户

Engine: 引擎,处理<Service>中的所有客户请求,具体来说,获得一个<Connectors>交给的请求后,把这个请求匹配到某个<Host>上进行处理,如果没有找到合适的<Host>来进行处理,则把这个请求交给一个默认虚拟主机处理。

Host组:虚拟主机,处理一个特定主机的请求,一般来说,每个虚拟主机都可以配置一个到多个Web应用,每个Web应用对应一个<Context>,<Host>获得的请求最终匹配到某个<Context>上,由它进行处理。

Context组: Web应用组,每个Web应用由一个或多个Servlet组成,当<Context>获得一个请求后,将映射/conf/web.xml文件中的<servlet>元素,匹配一个Servlet类进行处理并返回。当一个Web应用被初始化的时候,它将用自己的ClassLoader对象载入web.xml中定义的每个Servlet类。

我们启动Tomcat,在浏览器中输入:http://localhost:8080/ 会打开Tomcat的默认页面。实际上,这个页面是在Tomcat安装目录下的:/webapps/root/index.jsp;/webapps是Tomcat服务器用来存放Web应用的目录,每个Web应用都将在这建立各自的子目录,刚装好的Tomcat服务器虚拟主机的默认目录是/webapps/ROOT,所以默认会打开这个目录下的文件。流程如下:在/conf目录下的web.xml配置文件中有如下配置:<welcome-file-list>        <welcome-file>index.html</welcome-file>        <welcome-file>index.htm</welcome-file>        <welcome-file>index.jsp</welcome-file></welcome-file-list>这里正是用来配置首页的,Tomcat将按顺序找出<welcome-file>标签中的内容作为首页。而在我们的目录下,它只找到了index.jsp,所以会显示它;但我们不能将所有的Web程序都放在ROOT里。所以我们需要更改Tomcat的虚拟目录;

要设置虚拟路径,需要在server.xml文件的<Host></Host>中的Web应用添加一个<Context>子元素,实际上是配置了一个Web应用的物理存放地址到Tomcat虚拟路径的过程,使得Tomcat能够正确找到Web应用的物理存放路径;步骤:1)在server.xml的<Host></Host>中加上如下代码:<Context docBase="D:/myApp" path="/myapp" reloadable="true"></Context>2)我们把写好的Web应用中的所有文件放到下面的目录中:D:/myapp/test3)重启Tomcat,在浏览器中输入:http://localhost:8080/test 即可测试

web.xmlTomcat目录下/conf 可为不同的应用程序配置不同的上下文环境;用来对Servlet进行映射;一个Web应用的根目录下的/WEB-INF目录中也有一个web.xml,当部署一个Web应用时,总是先加载/conf/web.xml,然后才加载自己Web应用的/WEB-INF/web.xml文件;但处理过程中,总是先使用自己的web.xml配置文件,如果无法处理,才把它交给Tomcat的web.xml文件。
http://localhost:8080/wsota/wsota_index.jsp
1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)5) localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)7) path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法10)Context把执行完了之后的HttpServletResponse对象返回给Host11)Host把HttpServletResponse对象返回给Engine12)Engine把HttpServletResponse对象返回给Connector13)Connector把HttpServletResponse对象返回给客户browser

tomcat组成及原理[转]

时间: 2024-07-31 14:06:57

tomcat组成及原理[转]的相关文章

Tomcat数据源的原理,配置及使用(JNDI)

Tomcat数据源的原理,配置及使用 知识点: 1.数据源的作用及操作原理; 2.Tomcat中数据源的配置; 3.数据源的查找及使用 传统JDBC使用过程存在以下四个步骤: 1.加载驱动程序 2.进行数据库连接 3.数据库操作 4.数据库关闭 对于不同的用户只有操作不同,但是1,2,3三个步骤是一个重复的操作 如果开始种直接使用JDBC操作的化,那么会产生一种性能的问题 那么假设数据库不关闭,一户如果有新的用户使用的时候直接取一个已经有的连接就可以了 这就是数据库连接池,数据库连接池里存放的是

Tomcat启动过程原理详解 -- 非常的报错:涉及了2个web.xml等文件的加载流程

Tomcat启动过程原理详解 发表于: Tomcat, Web Server, 旧文存档 | 作者: 谋万世全局者 标签: Tomcat,原理,启动过程,详解 基于Java的Web 应用程序是 servlet.JSP 页面.静态页面.类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器(诸如tomcat).Web 应用程序存在于结构化层次结构的目录中,该层次结构是由 Java Servlet 规范定义的.Web 应用程序的根目录包含直接存储或存储在子文件夹中的所有公共资源

Tomcat 数据源的原理、配置、使用

1.数据源的作用及操作原理 在程序代码中使用数据源是可以提升操作性能的,这种性能的提升依靠于运行的原理. 传统JDBC操作步骤 1.加载数据库驱动程序,数据库驱动程序通过CLASSPATH配置: 2.通过DriverManager类取得数据库连接对象: 3.通过Connection实例化PreparedStatement对象,编写SQL命令操作数据库: 4.数据库属于资源操作,操作完成后进行数据库的关闭以释放资源.如图所示: 对于不同的用户只有操作不同,但是对于1.2.4三个步骤很明显是一个重复

tomcat简介及原理解说

Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325) 目录: ----Tomcat背景 ----Tomcat目录 ----Tomcat类加载 ----server.xml配置简介 ----web.xml配置简介 ----管理 ----tomcat原理解说 ----Tomcat Server的组成部分 ----Tomcat Server的结构图 ----配置文件$CATALINA_HOME/conf/server.xml的说明 ---Contex

Tomcat负载均衡原理详解及配置

结构图 使用Tomcat的童鞋们注意了.为了增加tomcat的性能和稳定性,我们一般采用balance和session同步机制. 下图列出了我们常用也是最简单的解决方案. 说明 1 balance 负载均衡我们一般采用Apache proxy和Apache+mod_jk方式 所使用软件:Apache2.2.19 http://httpd.apache.org/download.cgi#apache22; Tomcat7          http://tomcat.apache.org/down

Tomcat容器模型原理

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web

Tomcat启动过程原理详解

基于Java的Web 应用程序是 servlet.JSP 页面.静态页面.类和其他资源的集合,它们可以用标准方式打包,并运行在来自多个供应商的多个容器.Web 应用程序存在于结构化层次结构的目录中,该层次结构是由 Java Servlet 规范定义的.Web 应用程序的根目录包含直接存储或存储在子文件夹中的所有公共资源,比如图像.HTML 页面等.构成:Web应用由Web组件(一组Java类库).html文件,静态资源文件(如图像).帮助类和库组成. 1 – Tomcat Server的组成部分

TomCat的工作原理和端口理解

关于解压官网下载:apache-tomcat-6.0.45.zip 解压后展现目录: 主要关注bin,conf,webapps这三个目录:bin目录里面会有启动的,停止的bat文件,conf主要是tomcat的配置文件,webapps主要是项目的发布文件,在webapps下,tomcat有自己的目录和文件 运行时,调用startup.bat文件: @echo off rem Licensed to the Apache Software Foundation (ASF) under one or

tomcat使用及原理

1,Tomcat作为Servlet容器的基本功能 2,Tomcat的组成结构 Tomcat本身由一列的可配置的组件构成,其中核心组件是Servlet容器组件,它是所有其他Tomcat组件的顶层容器.Tomcat的各个组件可以在server.xml 文件中对应一种配置元素.见上一篇文章. 3,Tomcat处理一个http请求的过程 假设来自客户的请求为: http://localhost:8080/wsota/wsota_index.jsp 1) 请求被发送到本机端口8080,被在那里侦听的Coy