`
不能跑就走
  • 浏览: 71778 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat中server.xml简要说明

阅读更多
一:server.xml作用
server.xml 指挥着Tomcat的运行,它可以看作Tomcat的遥控器,Tomcat的运行
完全受它的控制。其主要完成两个目标:
(1) 提供Tomcat组件的初始配置;
(2) 说明 Tomcat的结构、含义,使得Tomcat通过实例化组件完成构建和启动。
二:server.xml中主要元素简要说明
(1) Server:顶层元素,代表整个Catalina Servlet容器,可包含一个或多个Service;
(2) Service:连接器元素,它由一个或者多个Connector 和一个Engine组成,负责处理所有Connector 所获得的客户请求。这些Connector 共享同一个Engine;
(3) Connector:实际和客户交互的组件。一个Connector 将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户;
(4) Engine:容器类元素,可以包含多个Virtual Host元素,每个虚拟主机都有一个域名。当Engine获得一个Connector 发出的Http请求时,它把该请求匹配到某个Host上,然后把该请求交给该Host 来处理。Engine 有一个默认虚拟主机localhost,当请求无法匹配到任何一个Host上的时候,将交给该默认Host来处理;
(5) Host:定义一个虚拟主机,每个虚拟主机都和某个DNS 相匹配。每个虚拟主机下
都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path。当Host获得一个请求时,将把该请求匹配到某个Context上,
然后把该请求交给该Context来处理。匹配的方法是“最长匹配”,path=""的Context
将成为该Host 的默认Context,所有无法和其他Context 的路径名匹配的请求都将最终和该默认Context 匹配。默认的虚拟主机localhost 的根目录appBase 指向webapps;
(6) Context:使用最频繁的元素,每个Context代表运行在虚拟主机上的一个应用。一
个Context对应于一个Web App,一个Web App由一个或者多个Servlet组成。Context
          在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml 和$WEBAPP_HOME/WEB-INF/web.xml 载入Servlet 类。当Context 获得请求时,将在自己的映射表(mapping table)中寻找相匹配的Servlet类。如果找到,则执行该类,获得请求的回应,并返回;
(7) 嵌套类元素可以加到容器组件中,如Listener、Valve、Logger、Realm、Cluster 元
素。
三:一次访问Tomcat的处理过程
对于一次访问过程,主要有以下几个步骤,假设来自客户的请求为:http://localhost:8080
/test/index.jsp。
(1)请求被发送到本机端口8080,被在那里侦听的HTTP Connector 获得;
(2)Connector 把该请求交给它所在的Service 的Engine 来处理,并等待来自Engine
的回应;
(3)Engine获得请求localhost/test/ index.jsp,匹配它所拥有的所有虚拟主机Host;
(4)Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,
因为该Host被定义为当前Engine的默认主机);
(5)localhost Host获得请求/test/index.jsp,匹配它所拥有的所有Context;
(6)Host 匹配到路径为/test 的Context(如果匹配不到就把该请求交给路径名为""的
Context去处理);
(7)path="/test"的Context 获得请求/index.jsp,在它的mapping table 中寻找对应的
Servlet;
(8)Context匹配到URL PATTERN 为*.jsp的Servlet,对应于JspServlet类;
(9)HttpServletRequest对象和HttpServletResponse 对象,作为参数调用JspServlet的
doGet或doPost方法;
(10)Context把执行完了之后的HttpServletResponse 对象返回给Host;
(11)Host把HttpServletResponse对象返回给Engine;
(12)Engine把HttpServletResponse对象返回给Connector;
(13)Connector 把HttpServletResponse对象返回给客户浏览器。

Server元素:
     Server 定义了一个Tomcat 服务器,Server 启动后将在port定义的端口处处等待关闭命令,如果接收到“SHUTDOWN”字符串则关闭服务器。Server 元素包含一个或多个Service元素,并能包含Listener、Logger、ContextManager和GlobalNamingResources元素类型,但它不能做为任何元素的子元素。

Service元素:
    Service 元素由org.apache.catalina.Service 接口定义,它包含一个Engine 元素以及一个
或多个Connector 元素,这些Connector 元素共享同一个Engine元素。

Connector元素:
Connector 表示客户端和Service之间的连接。Tomcat 有两个典型的Connector,一个直
接侦听来自浏览器的http请求,一个侦听来自其他WebServer 的请求。

容器Engine
    每个Service 元素只能有一个Engine 元素,Engine 元素处理在同一个Service 中所有
Connector 元素接收到的客户请求,由org.apahce.catalina.Engine 接口定义。Engine 可以包
含元素Logger、Realm、Value和Host。
     下列元素可以嵌套在Engine元素中,但每种元素至多只能嵌套一次。
²Logger:配置一个logger,用来接收和处理Engine的所有日志消息,还包括与这个
Engine 相关的所有Connector 的消息。另外,Engine 还负责记录嵌套的所有Host
和Context的消息,除非被低层的Logger 配置覆盖。
²Realm:配置一个Realm,允许用户数据库以及用户的相关角色在所有的Host 和
Context之间共享,除非被低层的Realm配置覆盖。
²Valve:Catalina 会为该容器处理的所有请求创建访问日志。
²Listener:如果一个Java 对象需要知道Context什么时候启动、什么时候停止,可以
在这个对象中嵌套一个Listener 元素。该Listener 元素必须实现
org.apache.catalina.LifecycleListener 接口。在发生对应的生命期事件的时候,通知
该Listener。

Host元素
  Host元素由Host接口定义。一个Engine元素可以包含多个Host元素,每个Host元素
定义了一个虚拟主机,它包含了一个或多个Web 应用。在Host 元素中可以包含子元素
Logger、Realm、Valve和Context。
     主要属性
className       指定实现Host接口的类
name            定义虚拟主机的名字
appBase         指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于CATALINA_HOME 的相对目录,如果没有此项,则为默认值。
autoDeploy      热发布,如果此项设为true,表示Tomcat 服务处于运行状态时,
能够监测appBase 下的文件,如果有新的Web应用加入进来,会自动发布这个Web应用
unpack          如果此项设置为true,表示把Web 应用的WAR 文件先展开为开放目录结构后再运行,如果设为false 将直接运行WAR 文件
alias 指定主机别名,可以指定多个别名。
liveDeploy      如果为true,则复制到该appBase 下的Web应用将被立即部署

容器Context
   Context表示一个Web应用程序,通常为WAR文件或一个目录。每个Context提供一
个指向放置Web项目的Tomcat的下属目录。Context 元素由Context 接口定义,是使用最频繁的元素。每个Context 元素代表了运行在虚拟主机上的单个Web 应用。一个Host 可以包含多个Context 元素,每个Web 应用有惟一的一个相对应的Context代表Web应用自身。Servlet容器为第一个Web 应用创建一个ServletContext对象。
主要属性
className            指定实现Context 的类
path                 指定访问Web 应用的URL 入口,应该写作"/myweb",表示此Web应用程序的url的前缀,这样请求的url 为http://localhost:8080/myweb
/****
reloadable            如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes 和Web-INF/lib目录CLASS 文件的改变。如果监视到有class文件被更新,服务器自动重新加载Web应用
cookies              指定是否通过Cookies来支持Session
useNaming           指定是否支持JNDI
分享到:
评论

相关推荐

    tomcat server.xml配置详解

    在深入探讨Tomcat服务器的`server.xml`配置文件之前,我们先简要了解下Tomcat。Apache Tomcat是一个开源的Servlet容器,主要用来运行Java Servlet和JavaServer Pages(JSP)。`server.xml`是Tomcat的核心配置文件,...

    apache-tomcat-8.5.82

    9. **conf**: 存储Tomcat的配置文件,如server.xml、web.xml等,是定制Tomcat行为的核心部分。 10. **logs**: 这个目录用于存储Tomcat运行时的日志文件,有助于诊断和调试问题。 综上所述,Apache Tomcat 8.5.82的...

    apache-tomcat-6.0.36.zip

    2. **conf** - 存放配置文件,如`server.xml`(定义服务器配置)、`web.xml`(全局Servlet和过滤器配置)以及`context.xml`(应用上下文配置)。 3. **lib** - 放置Tomcat运行时所需的JAR文件,包括Servlet和JSP API...

    tomcat8.5.54.zip

    开发者可以通过修改conf/server.xml配置文件,配置多个虚拟主机、端口、上下文路径等。此外,还可以通过管理界面(如Manager App或Host Manager)来远程管理应用程序的部署和更新。 总的来说,Apache Tomcat 8.5.54...

    经典版的apache-tomcat9.0.13(希望能帮助到各位)

    - 安全方面,Tomcat支持SSL/TLS,可以通过修改`server.xml`中的`<Connector>`元素来启用。 - 性能可以通过调整线程池大小、缓存设置、JVM内存分配等进行优化。 6. **部署应用**: - 将WAR文件放入`webapps`目录...

    apache-tomcat-5.0.28.zip

    2. **conf**:存储Tomcat的配置文件,如`server.xml`(定义服务器配置)、`web.xml`(全局Web应用程序配置)、`context.xml`(特定上下文的配置)以及`logging.properties`(日志配置)。 3. **server**:包含了...

    Tomcat集群配置简要

    以下是一个简要的步骤和配置说明,以帮助你理解如何在Windows XP环境下设置一个基于Apache2.2的Tomcat集群。 首先,你需要确保你有以下软件: 1. 操作系统:Windows XP 2. Web服务器:Apache2.2 3. 应用服务器:...

    linux/windows版本tomcat7

    - **conf**:存放Tomcat的配置文件,如`server.xml`定义了服务器的配置,`context.xml`管理应用程序上下文,`web.xml`定义全局的Servlet和过滤器。 - **lib**:包含Tomcat运行时需要的JAR文件。 - **logs**:日志...

    tomcat权威指南第二版.pdf

    - 详细讲解了Tomcat配置文件的结构和使用,包括server.xml、web.xml、tomcat-users.xml等。 - 分别对这些文件的作用和重要配置项进行了说明。 8. 调试与故障排除(第8章:Debugging and Troubleshooting): - ...

    tomcat源码

    此外,`context.xml`用于全局配置,而`server.xml`则包含了Tomcat的整体配置。 8. **安全与权限控制** Tomcat提供了基于角色的访问控制(RBAC),通过 Realm 组件实现用户认证,结合`<security-constraint>`和`...

    tomcat发布和apach,

    - 修改Tomcat的server.xml文件,配置Connector,以支持AJP协议,这是Apache与Tomcat通信的常用协议。 3. **ISAPI_redirect.dll集成**: - 在Apache的modules目录下,将isapi_redirect.dll文件放入,这个文件负责...

    Nginx反向代理实现多Tomcat负载均衡 (1).md

    2. **修改端口**:编辑 `/opt/tomcat2/conf/server.xml` 文件,修改 HTTP 连接器端口(Connector port)和 AJP 连接器端口(AJP Connector port),以及关闭默认的管理界面端口(Manager port)。 3. **启动第二个 ...

    tomcat文档

    这些组件及其配置信息主要保存在`<CATALINA_HOME>/conf/server.xml`文件中,每个组件都有对应的XML配置元素。下面通过示例简要介绍Tomcat的基本组件及其相互关系: ```xml <Server> </Server> ``` ...

    与文章配套使用的 linux tomcat 9

    - "说明.txt":可能是安装或使用步骤的简要说明,提供了对压缩包内容的解释和操作指南。 通过这个压缩包,用户可以学习以下关键知识点: 1. **Linux环境配置**:了解Linux基础,如用户权限、文件系统结构、命令行...

    MeyboMail Web(Java) 邮件 群发源代码

    一、安装简要说明 1、安装JDK1.4.2以上版本(注意配置java_home路径) 2、安装tomcat 3、把本下载的全部程序文件拷贝到tomcat的webapps\ROOT目录下。 4、启动tomcat,在浏览器中输入http://localhost:8080/即可运行...

    使用Tomcat-5_5_20配置数据库连接池详细介绍

    - `./conf/server.xml`: 主要用于配置Tomcat的服务参数,包括监听端口、日志等。 - `./conf/web.xml`: 全局Web应用程序配置文件。 - `./common/lib`: 用于存放第三方库(例如MS SQL Server JDBC驱动)的目录。 #...

    Tomcat面试专题1

    4. **XML配置部署**:在`server.xml`或`context.xml`文件中添加`<Context>`标签,指定应用的路径和配置。 了解这些关键知识点,可以帮助你在面试中自信地解答关于Tomcat的问题,同时也能为实际的系统优化提供基础。...

    SSL配置手册-tomcat

    - **修改Tomcat的server.xml文件**: 需要在`<Connector>`元素中添加以下属性以启用HTTPS连接,并指定服务器证书keystore文件位置等信息。 ```xml maxThreads="150" scheme="https" secure="true" clientAuth=...

    tomcat辅助软件

    - **readme.txt**:这是标准的说明文件,通常包含关于如何使用软件的简要指南或注意事项。 - **tomcataid**:这个名字可能是程序主文件或者是一个与Tomcat辅助软件相关的库文件。 总的来说,这个“tomcat辅助软件”...

Global site tag (gtag.js) - Google Analytics