Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tomcat 6:在URL中没有war名称且不覆盖根目录的情况下访问web应用程序?_Url_Web Applications_Tomcat6_Context.xml - Fatal编程技术网

tomcat 6:在URL中没有war名称且不覆盖根目录的情况下访问web应用程序?

tomcat 6:在URL中没有war名称且不覆盖根目录的情况下访问web应用程序?,url,web-applications,tomcat6,context.xml,Url,Web Applications,Tomcat6,Context.xml,在我的war的META-INF/context.xml中,我有: 我将war部署到webapps/目录,并确认我的contex.xml位于%CATALINA\u HOME%\conf\CATALINA\localhost中,名称为my-long-war-name.xml 现在,tomcat不应该通过http://localhost:8080/my long-war-name/contacts/data访问我的REST服务,而应该允许http://localhost:8080/foobar/con

在我的war的META-INF/context.xml中,我有:

我将war部署到webapps/目录,并确认我的contex.xml位于%CATALINA\u HOME%\conf\CATALINA\localhost中,名称为my-long-war-name.xml

现在,tomcat不应该通过http://localhost:8080/my long-war-name/contacts/data访问我的REST服务,而应该允许http://localhost:8080/foobar/contacts/data 但我只能通过以前的URL访问我的服务。就好像它完全忽略了上面为我的web应用程序提供的路径。我甚至试着省略docBase,但也没用


为什么这个不行?!这应该是很基本的

我不明白你为什么需要这个。在部署到Tomcat时,我从不碰它,而且一切都很好


你为什么不干脆把战争命名为foobar,部署它,然后就完蛋了?尽管有相反的证据表明它是多么基本,但您似乎还是坚持这个想法。

由于Tomcat的限制,如果不编辑server.xml并在其中指定上下文元素,您就无法做到这一点。在您的例子中,path元素只是被默默地忽略了。谢谢。您的答案似乎是正确的,尽管Tomcat 5.5 amd 6.0文档称将其添加到server.xml不是一个好的做法。我只是认为context.xml功能并不总是像广告中所宣传的那样工作。重命名war文件将从war文件名中删除信息,例如版本号,这可能对系统管理员有帮助,而不必查看war文件。听起来这是一个糟糕的解决方案。版本信息应该在战争清单中。你的构建系统将是一个比战争名称更好的版本信息来源。
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/foobar" docBase="my-long-war-name"/>