虚拟目录的建立:打开tomcat的conf中的server.xml,添加<context path="/自己设置想要访问项目的目录名" docBase="项目所在的位置" ></context>
例如<context path="/xmgl" docBase="D:\shop.war" ></context> 这样我们就能通过http://localhost:8080/xmgl访问到D盘下面的shop项目。
但是这样做每次修改server.xml文件都要重启tomcat生效, 所以推荐使用如下方法: 在conf中的Catalina中的localhost(即主机名,如果主机名不是localhost也是一样
在主机中添加xml文件)添加 xmgl.xml文件,xml文件中只要配置这句<context docBase="D:\shop.war" ></context>就能生效了,因为我们的xml文件名就是xmgl
这个就可以代表路径了所以不需要再写path,如果你想通过aa/xmgl这个多重路径访问到shop这个项目,那么xml文件名应该为aa#xmgl.xml,多重目录就以#号连接,
修改完成之后不用重启tomcat就能访问项目了,虚拟目录即设置我们想要的访问路径名访问到我们的项目,虽说是通过虚拟路径去访问shop项目,但是tomcat是会在
webapp根目录下生成一个aa#xmgl这个项目(我的理解是虽然按照我们设置的虚拟目录去访问项目,但是tomcat从你指定的项目真实路径拷贝了一份到
tomcat的webapp根目录中并且按照你访问的虚拟目录即aa/xmgl去重新命名拷贝过来的项目,这样本质还是以真实路径去访问项目)
TOmcat没有设置的话默认去访问webapp中的ROOT项目,假设我的域名是http://aa.bb.com,现在我的A项目已经改名为ROOT那么我现在访问httP;aa.bb.com
能直接访问到A项目,现在我不想改变当前域名并且在同一个tomcat访问另一个项目,我就在localhost中增加一个xmg.xml配置,这样我就能通过
http://aa.bb.com/xmgl访问到我的另一个项目了 ( 即多个虚拟目录单个域名访问)