【问题标题】:404 error: Resource not available jersey tomcat404 错误:资源不可用球衣 tomcat
【发布时间】:2026-01-21 00:55:01
【问题描述】:

我正在尝试实现简单的“Hello Jersey”程序。但它给了我

404 错误:资源不可用

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 <display-name>MessageProcessorMyTest</display-name>
 <welcome-file-list>
 <welcome-file>index.html</welcome-file>
 <welcome-file>index.htm</welcome-file>
 <welcome-file>index.jsp</welcome-file>
 <welcome-file>default.html</welcome-file>
 <welcome-file>default.htm</welcome-file>
 <welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Jersey MessageProcessor Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
    <param-name>jersey.config.server.provider.packages</param-name>
    <param-value>com.example.wordcount</param-value>
</init-param>
<init-param>
 <param-name>unit:WidgetPU</param-name>
 <param-value>persistence/widget</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey MessageProcessor Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>

MessageEnd.java:

package com.example.wordcount;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;


public class MessageEnd {

@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/send")

public String sayHello(){
    return "Hello Jersey";
}
}

我使用的是 jersey 2.11 版本 我的上下文根:消息 当我直接到

http://localhost:8080/message/

index.html 显示出来

但是,当我尝试引导时

http://localhost:8080/message/rest/send

404 错误即将到来。

我在 webapp>WEB-INF>lib 目录中包含了以下球衣文件:

请指导我。

【问题讨论】:

  • Tomcat日志中是否有部署错误?
  • 我刚刚检查了我的控制台。我收到以下错误:严重:异常以名称 [/message] 开始上下文
  • 也许您可以将堆栈跟踪添加到问题中...
  • 我刚刚将“jersey-common.jar”文件添加到“webapp>WEB-INF>lib”文件夹中,该错误消失了。
  • 很高兴您已对问题进行了分类,但根据您的屏幕截图,它已经存在了。

标签: java rest tomcat servlets jersey


【解决方案1】:

@Aparna Savant - 我可以在搬家时说“Hello Jersey” 类声明上方的@Path("/send")。 – Aparna Savant 2014 年 8 月 11 日在 19:10

非常感谢你写这篇文章。我浪费了将近 20 个小时试图修复我的 api。

以下是我为修复代码所做的工作。

之前

@RestController
@Path("/api")
public class AuxdboAPIResouce {

之后

@Path("/api")
@RestController    
public class AuxdboAPIResouce {

【讨论】: