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 ...
随机推荐
- [USACO2005][POJ3045]Cow Acrobats(贪心)
题目:http://poj.org/problem?id=3045 题意:每个牛都有一个wi和si,试将他们排序,每头牛的风险值等于前面所有牛的wj(j<i)之和-si,求风险值最大的牛的最小风 ...
- ios-遍历和排序
// // main.m // OC-遍历和排序-homework // // Created by dllo on 16/2/25. // Copyright © 2016年 dllo. All r ...
- 调研eclipse安卓平台的开发环境
首先,我想抒发一下自己的感想.真的没想到这第一次的作业会这样的一波三折,本来以为自己已经弄好了eclipse,也弄过Java,安卓的环境配置应该不在话下,所以一拖再拖,从17号,也就是昨天开始,才着手 ...
- java操作xm——添加、修改、删除、遍历
package com.xml.zh; import javax.xml.parsers.*; import javax.xml.transform.Transformer; import javax ...
- overlay-2
<script src="/jquery.js"></script><script type="text/javascript"& ...
- oracle 的安装脚本
==[root@oracle ~]# cat 1.preusers.sh ==#!/bin/bash#Purpose:Create 3 groups named 'oinstall','dba','o ...
- HTML5开发注意事项及BUG解决
1.点透Q:元素A上定位另外一个元素B,点击元素B,如果元素A有事件或链接,会触发元素A上的事件或链接,即点透A:在元素B的touchend中增加ev.preventDefault();阻止默认事件即 ...
- Html-Css-a标签的使用
a标签去掉下划线 a{ text-decoration:none; } 或者把这个属性分别加到a标签下, a:link{ text-decoration:none; } a:visited{ text ...
- sprintf、strcpy和memcpy的区别
做某题用到了sprintf把一个字符数组(字符串)写到二维字符数组里,然后耗时挺长的,想了想strcpy好像也可以,事实证明strcpy效率果然更高,然后想了想觉得memcpy好像也可以.实践了一下的 ...
- 【Gym 100971J】Robots at Warehouse
题意 链接给你一个n*m的地图,'#'代表墙,‘.’代表可走的,1代表1号机器人,2代表2号机器人,机器人可以上下左右移动到非墙的位置,但不能走到另一个机器人身上.问能否交换1和2的位置. 分析 如果 ...