tomcat为什么要加载两次 配置文件

 我来答
电脑老手fly
2016-09-30 · 知道合伙人数码行家
电脑老手fly
知道合伙人数码行家
采纳数:5177 获赞数:9378

向TA提问 私信TA
展开全部
 appBase与docBase区别
  appBase是指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps。
  docBase是指定Web应用的文件路径.可以给定绝对路径,也可以给定相对于Host的appBase属性的相对路径. 如果Web应用采用开放目录结构,那就指定Web应用的根目录;如果Web应用是个WAR文件,那就指定WAR文件的路径。
  tomcat配置文件配置以下参数时
  <Host name="localhost" appBase="webapps"
  unpackWARs="true" autoDeploy="true"
  xmlValidation="false" xmlNamespaceAware="false">
  <Context path="" docBase="D:/apache-tomcat-7.0.53/webapps/Test" debug="0" reloadable="true" />
  </Host>
  每次启动tomcat,项目会出现被加载两次的问题,

  出现上述问题的原因是tomcat加载玩appBase="webapps"之后又去加载docBase,因此造成加载两次项目的问题,修改path参数path="\Test"(项目名称),配置文件内容是
  <Host name="localhost" appBase="D:/apache-tomcat-7.0.53"
  unpackWARs="true" autoDeploy="true"
  xmlValidation="false" xmlNamespaceAware="false">
  <Context path="\Test" docBase="D:/apache-tomcat-7.0.53/webapps/Test" debug="0" reloadable="true" />

  如果不想修改path="Test"的参数,那么可以修改appBase="webapps"的参数。这样的方式也可以解决当前多次加载问题;appBase的参数指到其他文件目录不能出现在tomcat的webapps目录下,这样也可以访问根目录不用敲项目名称。配置文件内容是
  <Host name="localhost" appBase="D:/apache-tomcat-7.0.53"
  unpackWARs="true" autoDeploy="true"
  xmlValidation="false" xmlNamespaceAware="false">
  <Context path="" docBase="D:/apache-tomcat-7.0.53/webapps/Test" debug="0" reloadable="true" />
  </Host>

  如果项目不是在MyEclipse中启动而是在linux操作系统中启动,可以把项目搬到其他目录中,前提是不能在webapps目录下,appBase="webapps"参数可有可无,配置文件内容是
  <Host name="localhost" appBase="webapps"
  unpackWARs="true" autoDeploy="true"
  xmlValidation="false" xmlNamespaceAware="false">
  <Context path="" docBase="D:/apache-tomcat-7.0.53/Test" debug="0" reloadable="true" />
  </Host>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式