tomcat和docbase的奇怪行为

时间:2012-08-23 13:30:08

标签: tomcat tomcat7

我正在使用tomcat 7.0.22

我希望网址:127.0.0.1:8080指向位于项目文件夹下而不是127.0.0.1:8080/Project/

下的网络应用程序

所以我在server.xml中定义了

<Context docBase="Project" path="/"  />

这是我第一次启动tomcat。

如果我采取以下行动:

  1. 停止tomcat
  2. 删除war和项目文件夹
  3. 将战争从部署服务器移至webapp文件夹
  4. 启动tomcat
  5. 再次 - 我必须输入127.0.0.1:8080/Project/才能到达应用程序。

    如果我,除上述4个步骤外:

    1. 停止tomcat
    2. 启动tomcat
    3. 它工作正常,我可以通过127.0.0.1:8080/

      访问该应用程序

      我该怎么做才能防止额外停止并开始?

1 个答案:

答案 0 :(得分:3)

几个问题:

  1. 请勿将<Context>放入server.xml。而是使用将[appname].xml文件放入conf/[service]/[engine]目录的首选部署技术。对你而言,这可能意味着conf/Catalina/localhost

  2. 根本不设置path,如果要设置它,请不要将其设置为"/":适用于根网络应用的path""(空,不是/)。

  3. [appname].xml的名称设为ROOT.xml

  4. 将您的Project文件夹移到Tomcat的appBasewebapps/目录)之外,并使用完全限定的路径名​​称docBase来引用它。 / p>

  5. 如果你只做了两件事,你本可以避免上述所有错误:

    $ mv webapps/Project webapps/ROOT
    

    ...并完全删除<Context>中的server.xml

    哦,你应该升级Tomcat:你现在已经落后7个点了,这七个小版本中有一些好东西。