<Host appBase="d:/aaa">
<Context docBase="d:/aaa/bbb"> </Context>
</Host>
我们先看appBase,这个目录表示:
1、这个目录下面的子目录将自动被部署为应用。
2、这个目录下面的.war文件将被自动解压缩并部署为应用。
而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
总结:
如果你想自己指定路径,那么应该在docBase里面
如果你想简单,那么直接把他们复制到appBase下面就行了
如果你把他们弄重复了,也就是2个指向了一个目录,看上去也能运行,但你的应用下面的每个子目录,其实是被部署为单独的应用的。
比如你的应用为myApp, 放在了d:\project\myApp
里面有2个子目录:
d:\project\myApp\images
d:\project\myApp\js
你可以通过
1、设置 appBase 指向 d:\project 来让系统自动部署
2、你可以手工指定docBase到 d:\project\myApp
3、如果你指定了 appBase到 d:\project\myApp 那么d:\project\myApp\images这个将不再是普通的子目录,而是一个单独的虚拟目录,或者叫应用了。因为其被自动部署了,d:\project\myApp\js 也一样的后果。这时一些独立的jsp目录,比如d:\project\myApp\admin,可能就会出现错误,无法访问了,因为这些目录已经无法使用上级目录的lib和配置文件了!
另外,不能把appBase指向上一级目录如:“/data/apache-tomcat-5.5.23”,这样,应用会加载两次。