tomcat配置文件之Server.xml
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的更多相关文章
- Tomcat配置文件之“server.xml”解析
<?xml version="1.0" encoding="UTF-8"?> <!--代表整个Servlet容器组件,是最顶层元素.它里面可以 ...
- tomcat中的server.xml文件配置了URIEncoding="UTF-8"需要注意的问题
1. get请求传递中文时本地连正式库访问都正常,正式环境下单独访问报错 代码: 请求:project/projectInfo/export/?cks=’项目类型 public String ...
- eclipse配置tomcat后修改server.xml文件(如编码等)无效问题
我们用eclipse配置好tomcat后,在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml等文件. 修改后重启Tomcat服务器时发现xml文件又被还原了. 因为Tomc ...
- Tomcat中的Server.xml配置详解
Tomcat中的Server.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server> <Listener /> ...
- Tomcat的目录结构、处理流程、主配置文件(server.xml)释义
参考资料: http://www.cnblogs.com/xdp-gacl/p/3744053.html http://grass51.blog.51cto.com/4356355/1123400 1 ...
- Tomcat下的Server.xml配置文件详解
自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...
- tomcat启动了server.xml中没有配置的项目
在tomcat的conf目录下的server.xml文件中没有配置hczm_struts项目,但在eclipse启动tomcat调试时,一直启动hczm_struts项目. 经检查,发现conf\Ca ...
- Tomcat配置文件之servlet.xml中选项介绍
Servlet.xml 分为以下元素: server, service, Connector ( 表示客户端和service之间的连接), Engine ( 表示指定service 中的请求处理机,接 ...
- tomcat如何在server.xml中配置contexts
https://tomcat.apache.org/tomcat-8.5-doc/deployer-howto.html#A_word_on_Contexts 例如你的程序 名字是hello端口是80 ...
随机推荐
- 【BZOJ1007】【HNOI2008】水平可见直线(斜率排序+单调栈)
1007: [HNOI2008]水平可见直线 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2605 Solved: 914[Submit][Stat ...
- [C#]MemoryStream.Dispose之后,为什么仍可以ToArray()?
目录 概述 MemoryStream分析 总结 概述 事件起因,一哥们在群里面贴出了类似下面这样的一段代码: class Program { static void Main(string[] arg ...
- 第四章:javascript: 栈
列表是一种最自然的数据组织方式.上一章已经介绍如何使用List类将数据组织成一个列表.如果数据存储的顺序不重要.也不必对数据进行查找,那么列表就是一种再好不过的数据结构.对于其它的一些应用,列表就显得 ...
- AngularJS开发指南1:AngularJS简介
什么是 AngularJS? AngularJS 是一个为动态WEB应用设计的结构框架.它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚.简洁地构建你的应用组件.它的创新点在于, ...
- Apache CXFjar包目录(转)
文件目录结构及相关文件的详细说明:|-bin|-docs|-etc|-lib|-licenses|-modules|-samples bin(目录) bin 目录中是 CXF 框架中所提供的代码生成. ...
- 小心as"陷阱"(c#)
有一种情况,使用as编译时没错,运行时也没错,但是结果错了. object a=1; string b=a as String; 由于a是objecy类型,是引用类型,所以可以用as转换,但是实际上b ...
- java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStreamsJavamail问题
异常描述如下: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineI ...
- jquery实现导航栏跟随窗口滚动
最近在制作一个模版的时候用到的一个jquery插件,当网站导航滚动到当前可见页面顶部时,固定在顶部并随窗口滚动,有很多的网站前台模版有有类似的效果. smohan.fixednav.js /* * 随 ...
- Java设计模式-策略模式(strategy)
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户.需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无 ...
- structs环境搭建
(1)<s:fielderror />放在JSP中,如果没在web.xml中配置filter相关内容,会有The Struts dispatcher cannot be found.从而显 ...