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

时间:2015-05-18 13:26:38

标签: tomcat web-applications web-deployment contextroot

(对不起我的英文,请纠正,如果有些事情是错误的)。

我有一个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-file放入/webapp文件夹来重新部署webapp。但是在解压war-file并成功部署webapp之后,我只能使用http://my-web-app.loc:8080/mywebapp url访问webapp。网址http://my-web-app.loc:8080将我引导至404 tomcat错误页面。

我需要设置什么才能使用http://my-web-app.loc:8080网址访问webapp?

1 个答案:

答案 0 :(得分:2)

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

另外,请勿将<Context>元素放入server.xml。而是将其放在META-INF/context.xml下的Web应用程序中。