【问题标题】:Is the name of web application always the name of the war?Web应用程序的名称总是战争的名称吗?
【发布时间】:2012-07-02 12:00:39
【问题描述】:

我正在尝试在 Tomcat 上安装 XWiki。我检查了web.xml,发现:

<display-name>xwiki</display-name>
<description>XWiki Application</description>

但是localhost:8080/xwiki 返回错误 404:

说明 请求的资源 (/xwiki) 不可用。

我还发现:

 <servlet-mapping>
     <servlet-name>XWikiService</servlet-name>
     <url-pattern>/XWikiService</url-pattern>
 </servlet-mapping>

但同样的问题:

说明请求的资源(//XWikiService)不可用。

我的安装有问题吗?我在 catalina.out 中没有发现任何错误。 但是当我尝试战争名称时:

localhost:8080/xwiki-enterprise-web-4.1.2/

有效!

我应该检查什么?

【问题讨论】:

  • 你的帖子和你的标题有什么关系??
  • 谢谢。忘了最后一个问题。 :-(

标签: java tomcat servlets xwiki


【解决方案1】:

您需要在Tomcat中配置Context。您可以在 several places 中定义上下文,而 path 属性定义了您要查找的“Web 应用程序的名称”。

【讨论】:

    【解决方案2】:

    web.xml 中的display-name 与用于访问资源的 URL 对象无关,它只是用于显示的短名称或描述,根据容器使用。在 Tomcat 中,它用于管理应用程序中。

    url_pattern 应该引用一个 servlet,但您可能缺少该对象的某些部分。 webapps 通常由 WAR 的名称引用(取决于容器),因此如果您的 WAR(在其中找到 web.xml)命名为 xwiki-enterprise-web-4.1.2,那么您应该尝试:

    • localhost:8080/xwiki-enterprise-web-4.1.2/XWikiService 访问 servlet,并且
    • localhost:8080/xwiki-enterprise-web-4.1.2/ 加载 web 应用程序。

    如果后者失败,那么您可以尝试使用welcome-file 属性来默认加载特定文件。

    当您加载:localhost:8080/xwiki-enterprise-web-4.1.2/ 时,它的具体作用是什么?这会加载您的网络应用程序吗?您只想知道 servlet 的 URL 吗?如果是这样,那么试试这个:localhost:8080/xwiki-enterprise-web-4.1.2/XWikiService

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2016-05-12
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 2011-03-16
      • 2014-02-12
      • 2016-03-18
      相关资源
      最近更新 更多