`

tomcat下的server.xml文件和context.xml (转)

阅读更多

<Server>元素
它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素.

<Server port= "8005"  shutdown= "SHUTDOWN"  debug= "0" >

 

className: 指定实现org.apache.catalina.Server接口的类.默认值为org.apache.catalina.core.StandardServer

port: 指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的.

 

shutdown: 指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置.

 

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

<Service name= "Catalina" >
<Service name= "Apache" >

第一个<Service>处理所有直接由Tomcat服务器接收的web客户请求.
第二个<Service>处理所有由Apahce服务器转发过来的Web客户请求.

 

className: 指定实现org.apahce.catalina.Service接口的类.默认为org.apahce.catalina.core.StandardService.
name: 定义Service的名字.

 

<Engine>元素
每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.

<Engine name= "Catalina"  defaultHost= "localhost"  debug= "0" >

className: 指定实现Engine接口的类,默认值为StandardEngine
defaultHost: 指定处理客户的默认主机名,在<Engine>中的<Host>子元素中必须定义这一主机
name: 定义Engine的名字

在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>

 

<Host>元素
它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.

 

<Host name= "localhost"  debug= "0"  appBase= "webapps" unpackWARs= "true"  autoDeploy= "true" >

className: 指定实现Host接口的类.默认值为StandardHost

 

appBase: 指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps

 

autoDeploy: 如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用

 

unpackWARs: 如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件


alias: 指定主机别名,可以指定多个别名

 

deployOnStartup: 如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context

 

name: 定义虚拟主机的名字

在<Host>元素中可以包含如下子元素: <Logger>, <Realm>, <Value>, <Context>


<Context>元素
它 由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个Web应用.一个<Host> 可以包含多个<Context>元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个 web应用创建一个ServletContext对象.

<Context path= "/sample"  docBase= "sample"  debug= "0"  reloadbale= "true" >
 

className: 指定实现Context的类,默认为StandardContext类

 

path: 指定访问Web应用的URL入口,注意/myweb,而不是myweb了事

 

reloadable: 如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录

CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用

 

cookies: 指定是否通过Cookies来支持Session,默认值为true

 

useNaming: 指定是否支持JNDI,默认值为了true

在<Context>元素中可以包含如下元素: <Logger>, <Realm>, <Resource>, <ResourceParams>

 

Connector元素
由Connector接口定义.<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果.

<Connector port= "8080"  maxThread= "50"  minSpareThreads= "25"  maxSpareThread= "75"  enableLookups= "false"  redirectPort= "8443"  acceptCount= "100"  debug= "0"  connectionTimeout= "20000"  disableUploadTimeout= "true"  />

<Connection port= "8009"  enableLookups= "false"  redirectPort= "8443"  debug= "0"  protocol= "AJP/1.3"  />
 

第一个Connector元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求;第二个Connector元素定义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求.

 

Connector元素共用属性


className: 指定实现Connector接口的类

 

enableLookups: 如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用

request.getRemoteHost方法返回客户机主机名.默认值为true

 

redirectPort: 指定转发端口.如果当前端口只支持non-SSL请求,在需要安全通信的场命,将把客户请求转发至SSL的redirectPort端口

 

HttpConnector元素的属性
className: 实现Connector的类

port: 设定Tcp/IP端口,默认值为8080,如果把8080改成80,则只要输入 http://localhost 即可因为TCP/IP的默认端口是80
address: 如果服务器有二个以上ip地址,此属性可以设定端口监听的ip地址.默认情况下,端口会监听服务器上所有的ip地址
bufferSize: 设定由端口创建的输入流的缓存大小.默认值为2048byte
protocol: 设定Http协议,默认值为HTTP/1.1
maxThreads: 设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200
acceptCount: 设定在监听端口队列的最大客户请求数量,默认值为10.如果队列已满,客户必须等待.
connectionTimeout: 定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间

 

JkConnector的属性
className: 实现Connector的类
port: 设定AJP端口号
protocol: 必须设定为AJP/1.3

 

acceptCount - The maximum queue length of incoming connections that have not yet been accepted. [10]

address - For servers with more than one IP address, the address upon which this connector should listen. [All Addresses]

bufferSize - Default input buffer size (in bytes) for requests created by this Connector. [2048]

debug - Debugging detail level. [0]

enableLookups - Should we perform DNS lookups on remote IP addresses when request.getRemoteHost() is called? [true]

maxProcessors - The maximum number of processor threads supported by this connector. [20]

minProcessors - The minimum number of processor threads to be created at container startup. [5]

port - TCP/IP port number on which this Connector should listen for incoming requests. [8080]

proxyName - Host name to be returned when an application calls request.getServerName() . [Value of Host: header]

proxyPort - Port number to be returned when an application calls request.getServerPort() . [Same as port ]

 

注:*************************

 

server.xml元素详解小人物,大博客*s1|zu n$L8d

元素名
属性
解释
server
port
指定一个端口,这个端口负责监听关闭 tomcat 的请求
shutdown
指定向端口发送的命令字符串
service
name
指定 service 的名字
Connector( 表示客户端和 service 之间的连接 )
port
指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求
minProcessors
服务器启动时创建的处理请求的线程数
maxProcessors
最大可以创建的处理请求的线程数
enableLookups
如果为 true ,则可以通过调用 request.getRemoteHost() 进行 DNS 查询来得到远程客户端的实际主机名,若为 false 则不进行 DNS 查询,而是返回其 ip 地址
redirectPort
指定服务器正在处理 http 请求时收到了一个 SSL 传输请求后重定向的端口号
acceptCount
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectionTimeout
指定超时的时间数 ( 以毫秒为单位 )
Engine( 表示指定 service 中的请求处理机,接收和处理来自 Connector 的请求 )
defaultHost
指定缺省的处理请求的主机名,它至少与其中的一个 host 元素的 name 属性值是一样的
Context( 表示一个 web 应用程序,通常为 WAR 文件,关于 WAR 的具体信息见 servlet 规范 )
docBase
应用程序的路径或者是 WAR 文件存放的路径
path
表示此 web 应用程序的 url 的前缀,这样请求的 url http://localhost:8080/path/****
reloadable
这个属性非常重要,如果为 true ,则 tomcat 会自动检测应用程序的 /WEB-INF/lib /WEB-INF/classes 目录的变化,自动装载新的应用程序,我们可以在不重起 tomcat 的情况下改变应用程序
host( 表示一个虚拟主机 )
name
指定主机名
appBase
应用程序基本目录,即存放应用程序的目录
unpackWARs
如果为 true ,则 tomcat 会自动将 WAR 文件解压,否则不解压,直接从 WAR 文件中运行应用程序
Logger( 表示日志,调试和错误信息 )
className
指定 logger 使用的类名,此类必须实现 org.apache.catalina.Logger 接口
prefix
指定 log 文件的前缀
suffix
指定 log 文件的后缀
timestamp
如果为 true ,则 log 文件名中要加入时间,如下例 :localhost_log.2001-10-04.txt
Realm( 表示存放用户名,密码及 role 的数据库 )
className
指定 Realm 使用的类名,此类必须实现 org.apache.catalina.Realm 接口
Valve( 功能与 Logger 差不多,其 prefix suffix 属性解释和 Logger 中的一样 )
className
指定 Valve 使用的类名,如用 org.apache.catalina.valves.AccessLogValve 类可以记录应用程序的访问信息
directory
指定 log 文件存放的位置
pattern
有两个值, common 方式记录远程主机名或 ip 地址,用户名,日期,第一行请求的字符串, HTTP 响应代码,发送的字节数。 combined 方式比 common 方式记录的值更多


Tomcat5.0和Tomcat5.5里的server.xml文件配置是不同的。因为Tomcat5.5的context上下文配置被提取到server.xml文件外,独立配置,需要使用ResourceLink元素指定他。

 

Tomcat 5的数据源配置跟Tomcat 5.5的数据源配置有很多的差别,Tomcat 6的数据源配置跟Tomcat 5.5的配置基本上相同。
以前的Tomcat5的配置需要在server.xml文件当中配置或者在conf/Catalina/localhost下面相应的上下文配置文件做配置。这种配置方式不合理的地方在于,假如数据库做了更改,程序员需要手工去修改这些文件,不利于团队开发。
Tomcat 5.5跟Tomcat 6的配置显得更为简单,我们只需要在我们的WebRoot目录下,新建一个META-INF的目录(假如不存在),在该目录下创建一个 context.xml文件,(或conf目录下的全局context.xml),并且在context.xml文件当添加以下的配置信息(要根据自己的 情况稍加修改):
程序代码

 

<Context>
<Resource name= "jdbc/tfms"  auth= "Container"  type= "javax.sql.DataSource"
maxActive= "50"  maxIdle= "30"  maxWait= "10000"  logAbandoned= "true"
username= "sa"  password= "password"  driverClassName= "net.sourceforge.jtds.jdbc.Driver"
url= "jdbc:jtds:sqlserver://localhost:1433/TransfusionMngDB;tds=8.0;lastupdatecount=true" />
</Context> 
 

 

其中:

name 表示指定的jndi名称

auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
logAbandoned 表示被丢弃的数据库连接是否做记录,以便跟踪
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址

在以往的tomcat当中还需要在web.xml指定相应的resource,在tomcat 5.5以后的版本不写也可以,但建议还是配置。
程序代码

<resource- ref >
    <description>DB Connection</description>
    <res- ref -name>jdbc/tfms</res- ref -name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource- ref > 

配置完之后,还需要将JDBC DRIVER存放在%TOMCAT_HOME%/lib里面,这是必须的,不然,tomcat没有办法找到driver

之后重新启动tomcat

分享到:
评论
1 楼 最佳蜗牛 2013-04-17  
写的很好,谢谢!

相关推荐

    Tomcat的server.xml文件

    首先,`server.xml`文件位于Tomcat的`conf`目录下,它是Tomcat启动时加载的第一个配置文件。这个XML文件按照特定的结构定义了服务器的各个部分,包括`&lt;Server&gt;`, `&lt;Service&gt;`, `&lt;Connector&gt;`, 和 `&lt;Engine&gt;`等元素。...

    tomcat6 server.xml 详解

    server.xml是Tomcat的主要配置文件,它定义了服务器的全局属性,包括端口设置、连接器、Context(应用上下文)以及一系列的服务组件。以下是对主要配置元素的详细解析: 1. **Server**: Server元素是整个配置的...

    Tomcat 服务器server.xml的关键参数配置

    ### Tomcat 服务器server.xml的关键参数配置 #### 一、配置Tomcat服务器访问端口 ...总之,通过对`server.xml`文件中的关键参数进行合理的配置,可以有效地管理和优化Tomcat服务器的性能,并确保应用程序的正常运行。

    tomcat的server.xml标签全解析.

    默认情况下,Tomcat提供了一个org.apache.catalina.Server接口的实现,通常用户不需要对其进行自定义。Server管理Service、Listener以及其他系统级别的配置。 2. **Service** - Service组件存在于Server内,负责将...

    tomcat_server.xml_配置详解

    `&lt;Server&gt;`元素是整个Tomcat实例的顶级容器,它由`org.apache.catalina.Server`接口定义。此元素有两个主要属性: - `port`: 指定Tomcat用于接收关闭命令的端口,默认为8005。 - `shutdown`: 指定发送给该端口的...

    tomcat配置文件web.xml与server.xml解析

    server.xml 配置文件是 Tomcat 服务器的另一个重要配置文件,用于配置 Tomcat 服务器的服务器端口、主机名、 Context 路径等。 三、事件监听器和过滤器 事件监听器和过滤器是 Tomcat 服务器中的重要组件,用于监听...

    tomcat context.xml 连接池代码 mysql

    但注意要备份原来的context.xml文件以防万一。 这是MYSQL配置方法,如果想换其它的数据库只需要改变username="xxx" password="xxx" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1/blog" ...

    tomcat 配置文件 server.xml配置

    在探讨`server.xml`配置文件之前,让我们先明确一点:`server.xml`是Apache Tomcat服务器的核心配置文件,它控制着Tomcat的启动、运行和停止过程。对于任何希望深入理解和优化Tomcat性能的开发者来说,熟悉并掌握`...

    Tomcat中用web.xml控制Web应用详解

    下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素用于声明应用范围内的初始化参数。这些参数可以被 ServletContext 中的所有组件共享。容器将 context-param 转换为键值对,...

    tomcat+redis负载均衡context.xml配置

    tomcat+redis负载均衡context.xml配置

    tomcat-server.xml详解

    Tomcat作为一款广泛应用的Java EE服务器,其核心配置文件`tomcat-server.xml`对于优化服务器性能、管理和监控服务至关重要。本文将详细解析`tomcat-server.xml`中的主要元素和属性,帮助读者深入理解Tomcat的内部...

    tomcatserver.xml配置详解.pdf

    server.xml是Tomcat中的核心配置文件,负责配置整个服务器的运行参数和连接器信息。下面将对Tomcat server.xml中可能包含的配置知识点进行详细说明: 1. &lt;Server&gt; 标签:这是Tomcat顶层的容器,用于构建整个Tomcat...

    Tomcat 的 server.xml 文件详解

    `server.xml` 文件是 Tomcat 服务器配置的关键组成部分,通过对 `&lt;Server&gt;`, `&lt;Listener&gt;`, `&lt;Host&gt;` 和 `&lt;Context&gt;` 等元素的理解和配置,可以实现对 Tomcat 服务器的高度定制化,从而满足不同场景的需求。...

    tomcat中server.xml详解

    在Apache Tomcat服务器中,`server.xml`是一个至关重要的配置文件,它定义了服务器的基本结构和行为。这个文件位于Tomcat安装目录下的`conf`子目录中,是整个Tomcat配置的核心。本文将深入探讨`server.xml`的各个...

    tomcat server.xml 配置

    而`server.xml`作为Tomcat的核心配置文件,对Tomcat的启动、运行、性能调优等方面具有重要意义。本文将详细介绍`server.xml`中的关键配置项,并结合实例讲解如何通过该文件实现如去除默认端口、绑定多域名以及项目...

    tomcat服务器的Server.xml配置详解.docx

    Tomcat作为一款广泛应用的开源轻量级Web应用服务器,其核心配置文件Server.xml对于服务器的管理和优化至关重要。本文将深入解析Server.xml的结构和配置要素,帮助读者更好地理解和操作Tomcat服务器。 Server.xml...

    tomcat server.xml的典型配置

    而Server.xml文件是Tomcat的核心配置文件,它定义了服务器的各个组件及其配置,包括端口设置、连接器、Context等,对服务器的行为有着重大影响。在本文中,我们将深入探讨`URIEncoding="utf-8"`这一配置项,并围绕...

    tomcat server.xml配置详解

    `server`元素位于`server.xml`的最顶层,是Tomcat实例的根节点,由`org.apache.catalina.Server`接口定义。它包含以下关键属性: - **port**:该属性用于指定一个端口,Tomcat通过这个端口监听关闭请求。默认情况下...

    Tomcat server.xml配置文件详解

    总之,`server.xml` 文件是 Tomcat 配置的核心,通过精细调整这些元素的属性,我们可以定制化 Tomcat 服务器的行为,以满足特定的应用场景需求。理解并熟练掌握 `server.xml` 的配置是优化和管理 Tomcat 服务器性能...

    详细解读server.xml文件

    在Apache Tomcat服务器中,`server.xml`是核心配置文件,它定义了服务器的整体结构、端口设置、数据源、连接器...通过阅读《解读server.xml.pdf》文档,你可以获得更详细的解释和示例,进一步提升你的Tomcat管理技能。

Global site tag (gtag.js) - Google Analytics