我的问题是由于 url-映射不正确造成的吗?

Is my issue a result of incorrect url-mappings?

我有一个 JBOSS ASS7 服务器托管一个用 java 编写的应用程序。此应用程序具有 JAX-RS 功能(用于响应某些 API 调用)以及一些 servlet。

我有一个 web.xml,其中包括以下两个映射:

<servlet-mapping>
        <servlet-name>javax.ws.rs.core.Application</servlet-name>
        <url-pattern>/api/*</url-pattern>
</servlet-mapping>

 <servlet>
        <servlet-name>adminServlet</servlet-name>
        <jsp-file>/admin.jsp</jsp-file>
 </servlet>
 <servlet-mapping>

<servlet-name>adminServlet</servlet-name>
        <url-pattern>/admin/</url-pattern>
</servlet-mapping>

在我的一个 .java 文件中,我有:

    @Path("/api/check")
public class ContentCheck {
    private static final Logger Log = LoggerFactory.getLogger(ContentCheck.class);
...etc

了解我的 jboss-web.xml 可能也有帮助:

    <jboss-web>
  <context-root>contentcheck</context-root>
</jboss-web>

现在的问题是,如果我要:

my.IP.Address/contentcheck/admin.jsp 

我得到一个 http 200(和我的页面)

但如果我去

my.IP.Address/contentcheck/api/check

我得到一个 http 404。

我能找到的唯一线索是在错误描述中,它谈到了寻找相对路径的问题: 输入状态报告

message: Could not find resource for relative : /check of full path: my.IP.Address/contentcheck/api/check?ID=1

description: The requested resource (Could not find resource for relative : /check of full path: /contentcheck/api/check) is not available.

我想如果我只是想在 JBOSS 服务器上胡说八道 URL 我会得到:

message: /contentcheck/wdwqd

description: The requested resource (/contentcheck/wdwqd) is not available.

非常感谢您提供的任何帮助

我认为您可以通过将@Path("/api/check") 更改为@Path("/check") 来解决此问题。或者,将 web.xml 中的路径从 '/api/' 更改为 '/',但怀疑前者是更合适的解决方案。

目前我相信如果您访问 /api/api/check

JAXRS 工作