You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RESTful WebService(Jersey实现)HTTP 404资源不可用问题求助

解决Jersey REST服务404 Not Found错误的方案

我看了你的代码和配置,马上就发现了导致404错误的核心问题——你的REST资源类和Servlet映射完全不匹配,再加上客户端请求路径也错了,所以Tomcat根本找不到你的服务端点。下面一步步给你理清问题并解决:

问题根源分析

  1. Servlet映射与资源包不匹配
    你的JSONService类在webService包下,但在web.xml里,映射/test/*的Servlet配置的是扫描dao包,而扫描webService包的Servlet对应的是/rest/*路径。你请求的/test/register/create路径对应的Servlet根本不知道webService包下的资源存在,自然返回404。
  2. 客户端请求路径错误
    你的Jersey客户端代码里用了http://localhost:8080/WeekendSoccer/test作为target,这和上面的问题对应,同样指向了错误的Servlet路径。

具体修复步骤

1. 修正请求URL(Postman和客户端都要改)

把请求URL从:

http://localhost:8080/WeekendSoccer/test/register/create

改成:

http://localhost:8080/WeekendSoccer/rest/register/create

2. 修正Jersey客户端的请求路径

在JerseyClientPost类里,把target的路径改成/rest:

WebTarget webTarget = client.target("http://localhost:8080/WeekendSoccer/rest");

3. 优化Servlet配置(可选但推荐)

你现在配置了两个Servlet,一个扫webService一个扫dao,其实没必要分开。可以合并成一个Servlet,同时扫描多个包,这样更简洁:
修改web.xml里的Servlet配置,把两个Servlet合并:

<servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <!-- 用逗号分隔多个包 -->
        <param-value>webService, dao</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

这样就不用维护两个Servlet了,所有的Jersey资源和客户端相关类都能被正确扫描到。

4. 确保JSON序列化正常(额外检查)

虽然404不是序列化问题,但为了后续能正常返回JSON,确认你的依赖里有jackson-jaxrs-json-provider(你已经包含了),同时RegisterPlayer类要确保有无参构造函数(你已经写了)和完整的getter/setter方法,这样Jackson才能正确序列化和反序列化对象。

验证步骤

  1. 重启Tomcat服务器,确保配置生效。
  2. 用Postman发送POST请求到修正后的URL:http://localhost:8080/WeekendSoccer/rest/register/create,请求体用JSON格式:
{
    "name": "Link",
    "email": "link@test.com",
    "company": "Test Ltd"
}
  1. 运行你的JerseyClientPost客户端,应该能收到201状态码和正确的响应信息。

内容的提问来源于stack exchange,提问作者ljs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:50:48