tomcat: 部署一个通过没有上下文根名称的浏览器访问的 webapp

tomcat: deploying a webapp which is accessed via browser without context root name

(抱歉我的英语不好,如有错误请指正)

我有一个 Web 应用程序(spring mvc 4 应用程序),其代码位于 tomcat-7/webapp/mywebapp/ 文件夹中。通过浏览器使用 url http://my-web-app.loc:8080(即端口号后没有上下文根名称 mywebapp)访问 Webapp。我在 tomcat-7/conf/server.xml 中有以下设置:

<Host name="my-web-app.loc" appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Context path="" docBase="mywebapp" reloadable="true" allowLinking="true" antiJARLocking="true" copyXML="true" />
     <Valve className="org.apache.catalina.valves.AccessLogValve" 
           directory="logs" 
           prefix="mywebapp.access." 
           suffix=".log" 
           pattern="common" 
           resolveHosts="true" />
</Host>

我通过将 war 文件放入 /webapp 文件夹来部署 webapp。但是在 war-file 解压并成功部署 webapp 后,我只能使用 http://my-web-app.loc:8080/mywebapp url 访问 webapp。 Url http://my-web-app.loc:8080 将我定向到 404 tomcat 错误页面。

我必须设置什么才能使用 http://my-web-app.loc:8080 url 访问 webapp?

将目录从 mywebapp 重命名为 ROOT(大小写很重要,即使在不区分大小写的文件系统上也是如此)。

另外,不要将 <Context> 元素放在 server.xml 中。相反,将其放入 META-INF/context.xml.

下的 Web 应用程序中