Web应用程序的名称是否始终是战争的名称?

时间:2012-07-02 03:19:38

标签: java tomcat servlets xwiki

我正在尝试在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>

但同样的问题:

  

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

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

  

本地主机:8080 / XWiki实现企业的Web-4.1.2 /

有效!

我应该检查什么?

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

display-name中的

web.xml与用于访问资源的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/加载网络应用。

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

加载时{... 1}}具体用于什么?这会加载您的webapp吗?你只是想知道servlet的URL吗?如果是,请尝试以下操作:localhost:8080/xwiki-enterprise-web-4.1.2/