我正在尝试使用 MyEclipse 和 JBoss 5 作为应用程序服务器来创建一个名为“web”的非常基本的 Web 项目。我创建了一个名为“pages”的包,并在其中创建了一个名为“UserInterface”的 servlet。问题是当我部署项目并运行服务器时,我总是收到错误报告:HTTP Status 404 - Servlet 不可用。
这是我的 web.xml 的一部分:
<servlet>
<servlet-name>UserInterface</servlet-name>
<servlet-class>pages.UserInterface</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserInterface</servlet-name>
<url-pattern>/UserInterface</url-pattern>
</servlet-mapping>
我在浏览器中导航到:http://localhost:8080/web/UserInterface
我在这里做错了什么?
谢谢
最佳答案
404 表示您尝试访问的 URL 未指向您服务器上的现有资源。再次检查地址,可能“web”(来自 http://localhost:8080/web/UserInterface
)部分不正确,因为应用程序可能未使用该名称部署。默认情况下,应用程序上下文名称是从“.war”文件的文件名派生的,例如如果您的文件是“myApp.war”,您的应用程序应该可以在 http://localhost:8080/myApp
此外,如果您实际上是在一个 .ear 文件中部署您的 war,那么该 ear 文件将包含一个 application.xml 应用描述符,它可以将您的应用程序文件映射到特定的上下文,无论 .war 文件名是什么,类似于:
<module>
<web>
<web-uri>myApp.war</web-uri>
<context-root>theApp</context-root>
</web>
</module>
最后,如果您使用 JBoss Eclipse 连接器从 Eclipse 自动部署,有时会出现错误并且实际上没有正确部署您的应用程序(即使应用程序本身很好)。如果是这种情况,请尝试手动将 .war 部署到应用程序服务器并以这种方式进行检查。
关于java - JBoss错误报告: HTTP Status 404 - Servlet is not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252556/