一、TOMCAT及SERVER.XML
TOMCAT服务器是由一系列的可配置的组件构的,TOMCAT的组件可以在%TOMCAT_HOME%/CONF/SERVER.XML文件中进行配置,每个TOMCAT组件和SERVER.XML文件的一种配置元素对应。
主要分为4类:
1.顶层类元素:包括和,他们位于整个配置文件的顶层
元素代理整个Catalina Servlet 容器,由org.apache,catalin.Server接口定义,包含一个或多个元素。元素由org.apache.catalin.Server接口定议,包含一个元素,及一个或多个元素,多个元素共享一个元素。
2.连接器类元素:
连接器类代表了介于客户与服务之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果传给客户。元素由org.apache.catalin.Connector接口定义,代表了与客户程序实际交互的组件,它负责接收客户请求,以及向客户回响应结果。
3.容器类元素:
容器类元素代表处理客户请求并生成响应的组件。元素由org.apache.catalin.Engine接口定义,每个只能包含一个元素,元素处理在同一个中的所有元素收到的客户请求。元素由org.apache.catalin.host接口定义,一个元素中可以包含多个元素,每个元素定义了一个虚拟主机,她可以包含一个或多个WEB应用。
元素由org.apache.catalin.Context接口定义,代理了运行在虚拟主机上的一个WEB应用,一个元素可以包含多个元素。
4.嵌套类元素
嵌套类元素代表了可以加到容器中的组件。
二、建立多个WEB应用方法:
1.通过配置多个元素
在下配置多个元素
<Context path="webapps" docBase="C:\Program files\Apache Software\foundation\Tomcat 5.5\Webapps\ROOT" debug="0" reloadable="true"></Context>
<Context path="webapps2" docBase="C:\Program files\Apache Software\foundation\Tomcat 5.5\Webapps\ROOT" debug="0" reloadable="true"></Context> |
后通过 主机:端口/应用名 访问,如:http://localhost/app1或http://localhost/app2
2.通过配置多个元素
|
<Host appBase="webapps" name="xok.la">
<Alias>www.xok.1a</Alias>
<Context path="" docBase="C:\Program files\Apache Software\foundation\Tomcat 5.5\Webapps\ROOT" debug="0" reloadable="true"></Context>
</Host>
<Host appBase="webapps2" name="xok.cc">
<Alias>www.xok.cc</Alias>
<Context path="" docBase="C:\Program files\Apache Software\foundation\Tomcat 5.5\Webapps\ROOT" debug="0" reloadable="true"></Context>
</Host>
|
HTTP://XOK.LA或HTTP://XOK.CC
3.通过配置多个元素(多端口 多应用)
|
<Service name="Catalina">
<Connector appaptCount="100" ConnectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8453" maxSpareTreads="75" maxThreads="150" minSpareThreads="25"/>
<Connector port="8019" protocol="AJP/1.3" protocolHandlerclassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8453"/>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Context path="" docBase="C:\Program files\Apache Software\foundation\Tomcat 5.5\Webapps\ROOT" debug="0" reloadable="true"></Context>
</Host>
<Realm className="org.apache.catalina.realm.UserdatabaseRealm"/>
</Engine>
</Service>
<Service name="Catalina2">
<Connector appaptCount="100" ConnectionTimeout="20000" disableUploadTimeout="true" port="90" redirectPort="9443" maxSpareTreads="75" maxThreads="150" minSpareThreads="25"/>
<Connector port="9009" protocol="AJP/1.3" protocolHandlerclassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="9443"/>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Context path="" docBase="C:\Program files\Apache Software\foundation\Tomcat 5.5\Webapps2\ROOT" debug="0" reloadable="true"></Context>
</Host>
<Realm className="org.apache.catalina.realm.UserdatabaseRealm"/>
</Engine>
</Service>
|
第2个应用只是在默认端口第1倍数字上加1
定议了两个Service分别是Catalina和Catalina2,侦听的端口分别是80和90 http://localhost:80 或http://localhost:90