Java Jersey-Rest:404未找到错误

Java Jersey-Rest:404未找到错误,java,rest,jersey,Java,Rest,Jersey,我正在做一个简单的程序,任务是从html表单中获取用户id,而不是显示Rest和用户名。我是 加载index.html页面时出现404错误 但是,当我在url上提供valuesuserid时,它工作得很好 这是密码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <met

我正在做一个简单的程序,任务是从html表单中获取用户id,而不是显示Rest和用户名。我是 加载index.html页面时出现404错误

但是,当我在url上提供valuesuserid时,它工作得很好

这是密码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index page</title>
</head>
<body>
    <form action="http://localhost:8080/rest/my/first/rest/users" method="GET">
        <label for="uid">ID</label>
        <input name="uid" />
                <input type="submit" value="Submit" />
    </form>
</body>
</html>  
这是资源类

@Path("users") //attach client request to resource: .../users
public class RestResource {

    Map<String,User> listUsers;  

    //initialize some resources
    public RestResource(){
        listUsers = new HashMap();
        listUsers.put("1",new User("1", "John"));
        listUsers.put("2",new User("2", "Peter"));
    }

    //return list of users
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String listOfUsersInText(){
        String list="";
        for (Entry<String,User> u:listUsers.entrySet()){
            list += u.getValue().getName() + "\n";
        }
        return list;
    }

    //return user information corresponding to the requested uid.
    @GET
    @Path("{uid}") //attach client request to resource: .../users/<uid>
    @Produces(MediaType.TEXT_PLAIN)
    public String getUID(@PathParam("uid") String uid){

        if (!listUsers.containsKey(uid))
            return "User not exist!";

        return listUsers.get(uid).getID()+":"+listUsers.get(uid).getName();
    }   
}
WEB.xml

 <display-name>rest</display-name>

  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>my.first.rest</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
您采用的方法是错误的,我们有几个rest客户端api,您可以使用其中任何一个,并可以将请求发送到rest资源


可以在jsp页面中显示的响应数据。

OK。但我想这不应该成为出错的原因?我无法查看index.html页面。这可能是什么原因?您将index.html放在Web INF的内部还是外部?它放在Web-INF文件夹的外部,它在Web Content文件夹中。。表单操作中的路径地址是否正确?当您通过输入提交表单时,请求将提交到rest资源,rest资源不会返回任何响应或页面重定向,因此将出现错误404,但我无法查看请求页面本身,即index.html