<!-- 而server端和web端都要暴露到外网。 因此配置两个context,使得client应用不须要添加服务名,直接使用IP便可访问; server能够经过http://xxx/server进行访问 --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <!-- docBase地址为 Host下appBase的相对路径,切记不要以/开头,除非lunix下绝对路径 --> <!-- <Context path="" docBase="a" reloadable="true" crossContext="true" /> <Context path="/server" docBase="b" reloadable="true" crossContext="true" /> --> </Host> <!-- 本地域名映射:C:\Windows\System32\drivers\etc hosts 如下是两个域名映射到Tomcat上的两个应用的server.xml的配置。 这种配置方案会存在如下问题: 在webapps和webapps1中会自动生成名称为ROOT的应用, 代码就是本身指定的docBase的路径下对应的应用,若是不设置appBase会默认加载到webapps中。 !!!注:如下配置不能够和上面的<Context>一块儿,不然会报错,缘由待考 --> <Host name="www.a.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="D:/apache-tomcat-8.0.47/tempDIR/a" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> <Host name="www.b.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="D:/apache-tomcat-8.0.47/tempDIR/b" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>