我有一个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。
我能找到的唯一线索是在错误描述中讨论找到相对路径的问题: 类型状态报告
消息:无法找到相对的资源:/检查完整路径: my.IP.Address /内容检查/ API /检查?ID = 1
description:请求的资源(找不到资源 relative:/检查完整路径: / contentcheck / api / check)不可用。
我想如果我只是尝试在JBOSS服务器上点击一个无意义的URL,我得到:
消息:/ contentcheck / wdwqd
description:请求的资源(/ contentcheck / wdwqd)不是 可用。
非常感谢您提供的任何帮助
答案 0 :(得分:0)
我认为您可以通过将@Path(“/ api / check”)更改为@Path(“/ check”)来解决此问题。或者,将web.xml中的路径从“/ api / ”更改为“/ ”,但怀疑前者是更合适的解决方案。
目前我相信如果您访问/ api / api / check
,JAXRS 将工作