我知道我可以将我的网络应用程序(或其 WAR 文件)重命名为 ROOT 但这是一种糟糕的方式,恕我直言。现在我查看了 tomcat 文档,上面写着
It is NOT recommended to place elements directly in the server.xml file
所以我尝试使用它建议的另一种方法。
Individual Context elements may be explicitly defined: In an individual file at /META-INF/context.xml inside the application files.
所以我创建了一个 /META-INF/context.xml
使用以下代码,
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/"/>
但是在部署之后,当我重新启动服务器时,它仍然无法加载“/”处的上下文,它仍然加载了 "/<WEB_APP_NAME>"
。
任何有帮助的指示。
最佳答案
你可以做的是:
添加一个名为 ROOT.xml
的文件在<catalina_home>/conf/Catalina/localhost/
此 ROOT.xml 将覆盖该引擎和主机(Catalina 和本地主机)的 tomcat 安装根上下文的默认设置。
在ROOT.xml文件中输入以下内容;
<Context
docBase="<yourApp>"
path=""
reloadable="true"
/>
在这里,<yourApp>
是您的应用程序的名称..:)
好了,您的应用程序现在是默认应用程序并将显示在 http://localhost:8080
上
但是,有一个副作用;您的应用程序将被加载两次。一次为localhost:8080
一次是 localhost:8080/yourApp
.要解决此问题,您可以将您的应用程序放在外面 <catalina_home>/webapps
并在 ROOT.xml 的 docBase 标记中使用相对或绝对路径。像这样的东西;
<Context
docBase="/opt/mywebapps/<yourApp>"
path=""
reloadable="true"
/>
然后就一切OK了!
关于tomcat - 如何在 Tomcat 7.0 中设置 Web 应用程序的上下文路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39317707/