今天项目需要在同一个tomcat服务下配置两个不同的项目,弄了半天,进了误区;在tomcat同一个端口下配置多个项目的话,只需要把项目导出放到 tomcat/webapps/下就可以了,在 tomcat/conf/server.xml里面并不需要添加具体项目的 path 和context,只需要配置好端口号。
<!--配置端口号为8082 -->
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--多个项目,并不需要在此配置项目的路径-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--
<context path="/usr/share/tomcat6/webapps" basedoc="SensorServer" debug=0 />
-->
不过各项目之间,有个地方需要注意的,各自项目中的web.xml中,有个地方的配置必须不一样,否则会造成项目的冲突导致项目服务访问不了。
比如,我现在有两个项目SensorServer、SensorServer1,那两个项目的webRootKey必须不一样,如下
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>SensorServer.root</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>SensorServer1.root</param-value>
</context-param>
至于,同一个tomcat 配置不同的端口号,好像除了另起一个tomcat服务,没有别的办法了,有待研究。
<!--配置端口号为8082 -->
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--多个项目,并不需要在此配置项目的路径-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--
<context path="/usr/share/tomcat6/webapps" basedoc="SensorServer" debug=0 />
-->
不过各项目之间,有个地方需要注意的,各自项目中的web.xml中,有个地方的配置必须不一样,否则会造成项目的冲突导致项目服务访问不了。
比如,我现在有两个项目SensorServer、SensorServer1,那两个项目的webRootKey必须不一样,如下
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>SensorServer.root</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>SensorServer1.root</param-value>
</context-param>
至于,同一个tomcat 配置不同的端口号,好像除了另起一个tomcat服务,没有别的办法了,有待研究。