我想将 myapp 部署在 tomcat 服务器中。我知道一种方法是从 webapps 中删除 Root 文件夹并将我的 app.war 重命名为 ROOT.WAR。但我不想这样做。我想像当用户以 www.xxx.com 访问我的应用程序时那样进行部署,它应该像 www.xxx.com/login.html 一样转到我的应用程序。
请帮忙
您可以从(几乎)任何位置使用您想要的任何上下文名称部署任何 WAR 文件(或分解的 WAR 目录),只要它不与任何自动部署的应用程序冲突。就是这样:
-
从中删除所有冲突的应用程序webapps/
(在这种情况下,实际上,这只是ROOT
)
-
将您自己的应用程序移至其他位置webapps/
-
复制META-INF/context.xml
从您的应用程序中创建文件并将其放入 Tomcat 中conf/[engine]/[host]/[contextpath].xml
- 例如conf/Catalina/localhost/ROOT.xml
-
Edit conf/[engine]/[host]/[contextpath].xml
并将此属性添加到<Context>
元素:
docBase="/path/to/your/WAR.war"
现在,Tomcat 将部署/path/to/your/WAR.war
在上下文路径上/
(因为部署描述符的文件名是ROOT
),并且您不必修改conf/server.xml
.
谁在乎修改conf/server.xml
?嗯,该文件只读once在容器启动期间,因此如果您想要进行更改、取消部署、重新部署等,则必须重新启动整个容器才能使这些更改生效。最好使用 Tomcat 的自动部署功能,正如您所看到的,它非常灵活。
所有这些都在Tomcat 关于定义上下文的文档顺便说一句,第一句话就清楚地表明,定义上下文server.xml
是一种不好的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)