我使用的是tomcat 7.0.22
我希望 URL:127.0.0.1:8080
指向位于项目文件夹下的我的 Web 应用程序,而不是 127.0.0.1:8080/Project/
所以我在server.xml中定义
<Context docBase="Project" path="/" />
这在我第一次启动 tomcat 时有效。
如果我采取以下行动:
- 停止tomcat
- 删除war和项目文件夹
- 将 war 从部署服务器移动到 webapp 文件夹
- 启动tomcat
同样 - 我必须输入 127.0.0.1:8080/Project/
才能到达应用程序。
如果我,除了上面4个步骤之外还要做:
- 停止tomcat
- 启动tomcat
它工作正常,我可以在 127.0.0.1:8080/
我能做些什么来防止额外的停止和启动?
最佳答案
几个问题:
不要输入
<Context>
在server.xml
.相反,使用首选部署技术放置您的[appname].xml
文件进入conf/[service]/[engine]
目录。对你来说,这可能意味着conf/Catalina/localhost
.不要设置
path
完全不要将其设置为"/"
如果您要设置它:正确的path
根 webapp 是""
(空的,不是/
)。写下你的名字
[appname].xml
成为ROOT.xml
移动您的
Project
Tomcat 之外的文件夹appBase
(webapps/
目录)并使用完全限定的路径名作为docBase
引用它.
如果您只做两件事,您就可以避免上述所有错误:
$ mv webapps/Project webapps/ROOT
...并删除 <Context>
来自你的 server.xml
完全。
哦,你应该升级 Tomcat:你目前落后 7 个小版本,这七个小版本中有一些好东西。
关于tomcat - tomcat 和 docbase 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092739/