JBoss错误报告:HTTP状态404 - Servlet不可用

Nad*_*shi 5 java eclipse servlets jboss5.x web

我正在尝试使用MyEclipse和JBoss 5作为应用程序服务器创建一个名为"web"的非常基本的Web项目.我创建了一个名为"pages"的包,并在其中创建了一个名为"UserInterface"的servlet.问题是当我部署项目并运行服务器时,我总是得到错误报告:HTTP状态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>
Run Code Online (Sandbox Code Playgroud)

我在浏览器中导航到:http:// localhost:8080/web/UserInterface

我在这做错了什么?

谢谢

Shi*_*gon 5

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>
Run Code Online (Sandbox Code Playgroud)

最后,如果您使用 JBoss Eclipse 连接器从 Eclipse 自动部署,有时会出现错误,并且实际上无法正确部署您的应用程序(即使应用程序本身很好)。如果是这种情况,请尝试手动将 .war 部署到应用程序服务器并以这种方式进行检查。


Nad*_*shi 2

我仍然不知道出了什么问题,但我创建了另一个名为 user 的 servlet,并且在 web.xml 中我在类之前添加了 /servlet 并在浏览器中导航到它(http://localhost:8080/web /servlet/User)并且它起作用了。

<servlet>
    <servlet-name>User</servlet-name>
    <servlet-class>pages.User</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>User</servlet-name>
    <url-pattern>/servlet/User</url-pattern>
  </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

感谢大家的帮助!