1.配置tomcat的虚拟路径,访问服务器外指定路径下的静态资源:
修改tomcat服务器conf文件夹下的server.xml文件,添加context标签如下所示:
<Context path="虚拟路径(也就是访问时的路径)" docBase="资源的真是路径" reloadable="true"></Context>
2.在一个tomcat下访问多个web项目时,可以通过添加虚拟host的方式来解决。
A 详细步骤如下:
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。
3.修改机器的host文件(区别于上面的Host标签,是系统host文件),添加一个ip映射,例如添加的host的name为myspring.com,则往系统host文件中添加127.0.0.1 myspring.com
B 在Catalina\localhost下创建xml文件 .如图所示:
demo1.xml文件内容:
<?xml version='1.0' encoding='utf-8'?>
<Context path="/demo1" docBase="F:\tomcat\apache-tomcat-7.0.72\conf\Catalina\localhost"/>
demo2.xml文件内容:
<?xml version='1.0' encoding='utf-8'?>
<Context path="/demo2" docBase="F:\tomcat\apache-tomcat-7.0.72\conf\Catalina\localhost"/>
在这里需要说明一下,path的路径为虚拟路径,同时需要与xml文件名一直,否则无法成功,docBase为真实路径.
已经配置完成,启动tomcat即可
访问;localhost:8080/demo1/hello.text 成功
访问localhost:8080/demo2/hello.text 成功
真实路径为同一个无妨.