Tomcat里 appBase和docBase健身房和家里的区别别

210.75.252.42&&&&1238人阅读
Tomcat下的appBase和docBase
&host appBase=”d:/aaa”&
&Context docBase=”d:/aaa/bbb”& &/Context&
我们先看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 也一样的后果
&host&里的appBase,然后在&context&里的docBase,这 两个属性是有联系的,先说一下比较官方的解释:“&Host&元素中的 appBase属性指定了一个路径,该路径将作为嵌套在它里面的&Context& 元素的docBase属性中设置的相对路径的基准路径。”也就是说是docBase的基路径,如果你的项目路径在:“F://a/site1”,而你在 appBase里写:“F://a/”,在docBase里写:“site1”,这样是可以的
。如果你appBase=“”,也就是说空着不写,在docBase里写: “F://a/site1”,也是可以的,反过来,如果是在appBase里写: “F://a/site1”,也是可以的。记住这些是很重要的!
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1611次
排名:千里之外appBase 和 docBase 的疑惑 - good_hans - 博客园
随笔 - 15, 文章 - 0, 评论 - 5, 引用 - 0
&&& 今天整整搞了一个下午,ubuntu下的tomcat,由于没有深入分析过tomcat/conf/server.xml,遇到很多问题。 &&& 一开始总是把appBase配置成应用程序的路径,结果反复的修改别处,也没搞定,突然想起docBase,然后在 &&& appBase 下面加了一行docBase,把路径配置到docBase中,把appBase为空,就OK了 &&&&& &Host name="localhost"& appBase=""&&&&&&&&&& unpackWARs="true" autoDeploy="true"&&&&&&&&&& xmlValidation="false" xmlNamespaceAware="false"&
&&&&&& &Context path="" docBase="/usr/local/webapp" debug="0" reloadable="true" crossContext="true"/&tomcat(2)
&host appBase=&d:/aaa&&
&Context path=&/smswap& reloadable=&true& docBase=&D:\workspace\smswap\WebRoot&&&/Context&
我们先看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 也一样的后果&
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:96072次
积分:1894
积分:1894
排名:第19336名
原创:66篇
转载:190篇
(8)(2)(2)(4)(2)(1)(3)(3)(4)(7)(7)(3)(3)(6)(1)(37)(38)(9)(13)(5)(12)(8)(5)(2)(7)(3)(7)(58)两种方法:
自己手动部署
&& &Host name=&localhost&
appBase=&webapps&
& unpackWARs=&true& autoDeploy=&true&
& xmlValidation=&false& xmlNamespaceAware=&false&&
Deploy and undeploy J2EE projects----选择project----add----ok
启动tomcat,输入“http://localhost:8080/projectName”
注意事项:
若是不能部署,可以查看project里面的.mymetadata文件里面是否有context-root=&/train19eManage&;若没有加上即可。
二、 &自动部署
&& &Host name=&localhost&
appBase=&&
& unpackWARs=&true& autoDeploy=&true&
& xmlValidation=&false& xmlNamespaceAware=&false&&
&Context path=&& docBase=&D:\Workspace\train19eManage\WebRoot& debug=&0& /&
启动服务tomcat,直接输入
“http://localhost:8080/”即可
appBase这个目录下面的子目录将自动被部署为应用。
而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
如果你想自己指定路径,那么应该在docBase里面
如果你想简单,那么直接把他们复制到appBase下面就行了
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1499次
排名:千里之外
(1)(2)(5)(2)

我要回帖

更多关于 哪里和那里区别 的文章

 

随机推荐