(对不起我的英语,如果有什么不对的地方请指正)。
我有一个 webapp(spring mvc 4 应用程序),代码放在 tomcat-7/webapp/mywebapp/
文件夹中。通过浏览器使用 url http://my-web-app.loc:8080
访问 Webapp(即端口号后没有上下文根名称 mywebapp
)。我在 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 应用程序中.
关于tomcat:部署一个通过没有上下文根名称的浏览器访问的webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30304478/