方法1(修改配置文件):
修改文件:
conf/server.xml
在Host标签中处插入以下代码:
<Context path="/abcd" docBase="目录路径" debug="0" reloadable="true" crossContext="true"/>
方法2(添加配置文件):推荐使用
新建文件abcd.xml:
conf/Catalina/localhost/abcd.xml
内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/test" docBase="目录路径" debug="0" reloadable="true" crossContext="true"/>
注:
abcd即为虚拟站点的名称访问时使用,而非test:
localhost:8080/abcd/
若将文件名修改为:
a#b#c#d
此时为分层虚拟站点,访问使用:
localhost:8080/a/b/c
方法3:
在Tomcat根目录下的conf目录context.xml文件中插入
<Context path="/abcd" docBase="目录路径" debug="0" reloadable="true" crossContext="true"/>
注意,这个虚拟路径修改方法会让所有的站点都能加载,
https://localhost:8080/test
使用这个之前最好将service.xml中的列表设置打开。
说明:
path:指定访问该 Web 应用的 URL 入口。
docBase:指定 Web 应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase 属性的相对路径,如果 Web 应用采用开放目录结构,则指定 Web 应用的根目录,如果 Web 应用是个 war 文件,则指定 war 文件的路径。(指定项目所在地址)
reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。
crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。
debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。
这个方法一般在设置后都需要重启服务器才有效(有时候即使设置了reloadable=”true”也需要重新启动)