修改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

版权声明:本文为hihtml5原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hihtml5/p/5741179.html