属性说明:
- crossContext 如果想在应用内调用ServletContext.getContext()来返回在该虚拟主机上运行的其他web application的request dispatcher,设为true。在安全性很重要的环境中,设为false,使得getContext()总是返回null。缺省值为false。
- docBase 该web应用的文档基准目录(Document Base,也称为Context Root),或者是WAR文件的路径。可以使用绝对路径,也可以使用相对于context所属的Host的appBase路径。
- override 如果想利用该Context元素中的设置覆盖DefaultContext中相应的设置,设为true。缺省情况下为false,使用DefaultContext中的设置。
- privileged 设为true,允许context使用container servlets,比如manager servlet。
- path web应用的context路径。catalina将每个URL的起始和context path进行比较,选择合适的web应用处理该请求。特定Host下的context path必须是惟一的。如果context path为空字符串(""),这个context是所属Host的缺省web应用
- reloadable 如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,在发生变化的时候自动重载web application,设为true。这个特征在开发阶段很有用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。
- debug 是否为调试模式,如果在开发时显示调试信息,设为true。
方法一
这种方式比较推荐的操作
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/Users/harrishuang/Documents/tomcate/news" crossContext="true" debug="3" privileged="true" reloadable="true"deubt="true">
</Context>
conf/Catalina/localhost 文件夹下新建test.xml 内容就是上述的
启动tomcat 即可
若是把test.xml 改成ROOT.xml所有默认访问都会访问虚拟目录
方法二
这种方式不推荐操作
修改tomcat 的server.xml文件,(修改之前还是先备份一下吧;省的改不过去,也改不回来)
<server>
<Engine>
<Host>
......
<Context path="/test" docBase="/Users/harrishuang/Documents/tomcate/news" crossContext="true"
debug="3" privileged="true" reloadable="true" debug="true">
</Context>
</Host>
</Engine>
</server>
方法三
还是把文件拷贝到webapp下吧