Server.xml包含的元素有<Server>、<Service>、<Connector>、<Engine>、<Host>、<Context>、<logger>、<Value>、<Realm>等,它们可分为四大类:

1、顶层类元素:有<Server>和<Service>。它位于整个配置文件的顶层。

2、连接器类元素:有<Connector>。客户和容器类元素的通讯接口。

3、容器类元素:有<Engine>、<Host>和<Context>。处理客户请求并且生成响应结果。

4、嵌套类元素:有<logger>、<Value>和<Realm>。可以加入到容器中的元素

配置文件结构为:
<server>

<service>

<connector/>

<connector/>

<engine>

<host>

<context/>

</host>

<host>

<context/>

<context/>

</host>

</engine>

</service>

<server>

<Server>元素

<Server>是Tomcat实例的顶层元素,由org.apache.catalina.Server接口定义,它可以包含一个或多个<Service>元素,并且不能做为任何元素的子元素。一个<Server>是一个提供完整JVM的独立组件,它可以代表整个容器,但它本身不是一个容器,不可以定义<value>或<loggers>之类的子组件。

属性说明:

属性

说明

port

指定一个端口,这个端口负责监听关闭Tomcat的请求

shut down

向以上端口发送的关闭服务器的命令字符串,通常为“SHUTDOWN”

对于一个已经开启的tomcat服务器,可以在cmd下使用telnet localhost 8005命令进行连接,然后输入“SHUTDOWN” 命令就可以关闭服务器。

<Service>元素

Service是一个集合,它由一个或者多个Connector以及一个Engine组成,这个Engine负责处理所有Connector所获得的客户请求。每个Service元素只能有一个Engine元素。Service本身也不是容器。

属性说明:

属性

说明

name

Service的名称

<Connector>元素

<Connector>是直接与用户交互的组件,负责接受用户请求和向客户返回响应结果。

属性说明:

属性

说明

port

Connector所监听的端口。在浏览器中可以通过输入url:port的方式提交给对应的Connector。因为浏览器的默认端口是80,所以如果把Connector的port设成80的话,可以直接使用url进行访问,不用在后边再跟一个端口号。

protocol

设定Http协议,默认是HTTP/1.1

minThreads

服务器启动时创建的处理用户请求的线程数

maxThreads

可以创建的最大的处理用户请求的线程数

minSpareThreads

最小备用线程数

maxSpareThreads

最大备用线程数

acceptCount

当所有可以使用的处理请求的线程都被用光时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,而返回Connection refused错误。

redirectPort

服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。(即当请求是https时,将它转发到的端口)

enableLookups

如果为true,表示支持域名解析,则可以在web应用中通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名;若为false则不进行DNS 查询,而是返回其ip地址。默认值为true。

connectionTimeout

等待超时的时间数(以毫秒为单位),如果为-1表示不限制客户连接的时间。

<Engine>元素

它处理在同一个<Service>中所有<Connector>元素接收到的客户请求。它匹配请求和自己的虚拟主机,并将请求发给对应的<Host>处理,默认的主机是localhost。

属性说明:

属性

说明

name

engine的名称,对应目录 /conf /Catalina

defaultHost

默认的处理请求的虚拟主机,至少与下面一个Host的name属性一样。对应 /conf /Catalina /localhost

Debug

日志等级。

<Host>元素

一个<Engine>元素可以包含多个<Host>元素,每个<Host>的元素定义一个虚拟主机,它包含一个或多个web应用。

属性说明:

属性

说明

name

虚拟主机名,对应目录 /conf /Catalina /localhost

appBase

指定虚拟主机的目录,默认为/webapps。它将请求url与该虚拟主机的context进行匹配,并把请求转给对应的context来处理。

Debug

日志等级。

autoDeploy

默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。

unpackWARs

如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。

<Context>元素

代表运行在虚拟主机上的单个web应用。一个<Host>可以包含多个<Context>元素。每个web应用有唯一个相对应的Context代表web应用自身。

属性说明:

属性

说明

path

Web应用名,在使用url访问host下的web应用时,通过http://localhst/ website 的形式。其中localhost为上文所说的host的name,而website就是这里的path。

也就是说当一具请求到来时,engine先根据host name = localhost来确定所要求的主机,再根据context path = website确定用户所请求的web应用。

docBase

Web应用的具体存放路径

Debug

日志等级。

autoDeploy

默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。

unpackWARs

如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。

tomcat配置文件之Server.xml的更多相关文章

  1. Tomcat配置文件之“server.xml”解析

    <?xml version="1.0" encoding="UTF-8"?> <!--代表整个Servlet容器组件,是最顶层元素.它里面可以 ...

  2. tomcat中的server.xml文件配置了URIEncoding="UTF-8"需要注意的问题

    1.      get请求传递中文时本地连正式库访问都正常,正式环境下单独访问报错 代码: 请求:project/projectInfo/export/?cks=’项目类型 public String ...

  3. eclipse配置tomcat后修改server.xml文件(如编码等)无效问题

    我们用eclipse配置好tomcat后,在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml等文件. 修改后重启Tomcat服务器时发现xml文件又被还原了. 因为Tomc ...

  4. Tomcat中的Server.xml配置详解

    Tomcat中的Server.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server> <Listener /> ...

  5. Tomcat的目录结构、处理流程、主配置文件(server.xml)释义

    参考资料: http://www.cnblogs.com/xdp-gacl/p/3744053.html http://grass51.blog.51cto.com/4356355/1123400 1 ...

  6. Tomcat下的Server.xml配置文件详解

    自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...

  7. tomcat启动了server.xml中没有配置的项目

    在tomcat的conf目录下的server.xml文件中没有配置hczm_struts项目,但在eclipse启动tomcat调试时,一直启动hczm_struts项目. 经检查,发现conf\Ca ...

  8. Tomcat配置文件之servlet.xml中选项介绍

    Servlet.xml 分为以下元素: server, service, Connector ( 表示客户端和service之间的连接), Engine ( 表示指定service 中的请求处理机,接 ...

  9. tomcat如何在server.xml中配置contexts

    https://tomcat.apache.org/tomcat-8.5-doc/deployer-howto.html#A_word_on_Contexts 例如你的程序 名字是hello端口是80 ...

随机推荐

  1. 【BZOJ1011】【HNOI2008】遥远的行星(乱搞)

    1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 1444  Solved ...

  2. MVC4 code first 增加属性,对应自动修改列的方法笔记

    VS工具>库程序包管理器>程序包管理控制台,然后输入以下命令 enable-migrations -contexttypename Mvc4Application1.Models.Movi ...

  3. GIthub的小技巧

    目录: 一.快捷键一览表 二.快速搜索项目文件功能 三.使用Github Pages搭建项目网站 一.快捷键一览表 具体操作:         在各个页面下按下shift+/也就是?都可以打开键盘快捷 ...

  4. 使用Ps制作透明ico

    准备好图片 打开Ps新建透明图片->抠取图片->复制粘贴 保存为gif格式->使用ico在线转换即可

  5. Linux使用

    RedHat5 [cat] 将一个文件内容加入到另外一个另外一个文件中 参数 -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似 ...

  6. Java基础-final变量和普通变量的区别

    当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再 ...

  7. BZOJ-3231 递归数列 矩阵连乘+快速幂

    题不是很难,但是啊,人很傻啊...机子也很鬼畜啊... 3231: [Sdoi2008]递归数列 Time Limit: 1 Sec Memory Limit: 256 MB Submit: 569 ...

  8. mysql中的having

    from子句后面可以用where选择行,group by子句后面可以用having子句选择行, having中条件的定义和where中很相似,但是having中可以直接用聚合函数,但是where中不能 ...

  9. BZOJ1015 [JSOI2008]星球大战starwar

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的 机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  10. 数组添加:如何往数组的"null"位置插入数据呢?

    数组添加,当已经存在的一个数组时,如何往数组的"null"位置插入数据呢? 分析: 1.循环遍历数组元素,找出null的位置(下标) 2.设置一个变量,接收null位置下标值 3. ...