先說一下在本地電腦怎么實現:
想要在一個tomcat下訪問兩個web項目時,可以通過添加虛擬host的方式來解決。
詳細步驟如下:
1、將兩個項目打包放入tomcat的webapps目錄下;
2、修改tomcat的server.xml文件,原來的代碼如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
添加代碼后如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="/ROOT"/>
</Host>
<Host name="myspring.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/SpringMvcArchitect2"/>
</Host>
需注意兩點:a、原來的host需要加上context標簽,並且path由原來的空變為項目名,因為兩個host的path不能同時為空,不然會訪問出錯,原來的項目名默認為ROOT。
b、添加新的host,將docBase里的路徑設置為第二個web項目的路徑,這里為/SpringMvcArchitect2,name為虛擬域名,自定義的。
3、修改機器的host文件(區別於上面的Host標簽,是系統host文件),添加一個ip映射,例如添加的host的name為myspring.com,則往系統host文件中添加127.0.0.1 myspring.com
4、重啟tomcat,就可以使用localhost:8080和myspring.com:8080訪問兩個web項目了,這里端口設置為8080,可以自己更改。
5、同理可以擴展為多個web項目,只需配置多個host即可
附:部分項目如jfinal框架默認的項目在ROOT下,所以war包不能都放webapps文件夾下,這樣需另外存放路徑如E:\test
1、 server.xml配置文件如下
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="ROOT" docBase="C:\tomcat\webapps\ROOT"/>
</Host>
<Host name="test.xiuyuewang.com" appBase="E:\test"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="E:\test\ROOT" reloadable="false" crossContext="true"/>
</Host>
2、 系統host配置文件
添加 127.0.0.1 新域名
3、重啟tomcat。
原文來自http://www.cnblogs.com/JOEH60/p/6022228.html