修改tomcat的server.xml文件中的Engine標簽下的Host標簽如下:
<Host name="www.a.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>www.a.com</Alias> <Alias>a.com</Alias> <Context path="" docBase="/xxx" /> </Host> <Host name="888.a.com" appBase="D:\xx" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>888.a.com</Alias> <Context path="/ecshop" docBase="D:\xx\xxx\"></Context> </Host> <!--<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host>-->
這樣就配置了兩個項目在tomcat下了。
www.a.com此域名對應的項目在webapps下的docBase指定的目錄下。
888.a.com此二級域名對應的項目在d:xx下的docBase指定的目錄下。
啟動tomcat就會去解壓對應目錄下去的項目,並運行。
注意:如果兩個host的appbase相同,且docBase的指向不是絕對路徑(如相對路徑,則是相對appbase路徑的)或是appbase下的路徑,則域名可以互相訪問項目(a域名可以訪問b域名指向的項目,b域名也可以訪問a域名指向的項目)。
標簽屬性name並無意義,只是區分host作用,按Alias標簽配置的域名來訪問項目資源。
標簽屬性appBase表示:
1 這個目錄下面的子目錄將自動被部署為應用。
2 這個目錄下面的.war文件將被自動解壓縮並部署為應用。
而標簽屬性docBase只是指向了你某個應用的目錄,這個可以和appBase沒有任何關系。
關於更多說明可以參考:http://www.blogjava.net/jjshcc/archive/2010/06/16/323659.html,http://blog.csdn.net/cicada688/article/details/14451541