1

我正在使用 tomcat 7.0.22

我希望 URL:127.0.0.1:8080指向位于 Project 文件夹下的我的 webapp,而不是127.0.0.1:8080/Project/

所以我在 server.xml 中定义

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

这适用于我第一次启动tomcat。

如果我采取以下行动:

  1. 停止Tomcat
  2. 删除war和项目文件夹
  3. 将战争从部署服务器移动到 webapp 文件夹
  4. 启动tomcat

再次 - 我必须输入127.0.0.1:8080/Project/才能访问应用程序。

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

  1. 停止Tomcat
  2. 启动tomcat

它工作正常,我可以在127.0.0.1:8080/

我能做些什么来防止额外的停止和启动?

4

1 回答 1

3

几个问题:

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

  2. 根本不要path设置,"/"如果要设置,也不要设置为:path根 web 应用程序的正确值为""(empty, not /)。

  3. 让你的名字[appname].xml成为ROOT.xml

  4. 将您的Project文件夹移到 Tomcat 的appBasewebapps/目录)之外,并使用完全限定的路径名​​作为docBase.

如果你只做了两件事,你就可以避免上面的所有错误:

$ mv webapps/Project webapps/ROOT

...并<Context>从您的server.xml完全删除。

哦,你应该升级 Tomcat:你目前落后了 7 个版本,这七个小版本中有一些好东西。

于 2012-08-23T14:39:29.663 回答