关于tomcat配置虚拟路径问题浅析:

1.配置tomcat的虚拟路径,访问服务器外指定路径下的静态资源:

修改tomcat服务器conf文件夹下的server.xml文件,添加context标签如下所示:

<Context path="虚拟路径(也就是访问时的路径)" docBase="资源的真是路径" reloadable="true"></Context>


2.在一个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="/项目2 的名字"/>
                        </Host>

                需注意两点:a、原来的host需要加上context标签,并且path由原来的空变为项目名,因为两个host的path不能同时为空,不然会访问出错,原来的项目名默认为ROOT。

b、添加新的host,将docBase里的路径设置为第二个web项目的路径,这里为" 项目2 的名字"为虚拟域名,自定义的。

           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即可

猜你喜欢

转载自blog.csdn.net/tomcatandoracle/article/details/80305755