【问题标题】:REST project error (Tomcat: HTTP ERROR 404)REST 项目错误(Tomcat:HTTP 错误 404)
【发布时间】:2018-11-06 01:27:18
【问题描述】:

我刚开始学习java rest service。我关注一些网站来构建一个 Rest 服务,但它似乎一直给我同样的错误:'(。

相信我!我曾尝试在 stackoverflow 和其他论坛上搜索解决方案,但它似乎对我不起作用。错误不断地回到我身边。

项目: 我在 Eclipse 中制作了 4.9 版和 Tomcat 8.5 版的动态 Web 项目。然后我将所有 jar 复制到 WEB-INF/lib

项目详情请查看以下截图:

服务器详情:

enter image description here

项目详情:

enter image description here

网页内容:

enter image description here

元信息 enter image description here

代码详情:

package com.firstproject;

import javax.ws.rs.*;


@Path("/")
public class Scoreservice {


    private static int WIN,LOSSES,TIES;


    @GET
    @Path("/score")
    @Produces("application/json")
    public String getScore() {
        String pattern =  "{ \"wins\":\"%s\", \"losses\":\"%s\", \"ties\": \"%s\"}";
            return String.format(pattern, WIN, LOSSES, TIES);
    }


    @PUT
    @Path("/score")
    @Produces("application/json")
    public String update(@QueryParam("WIN") int wins, 
                            @QueryParam("LOSSES") int losses, 
                            @QueryParam("TIES")   int ties) {
       Scoreservice.WIN   = wins;
       Scoreservice.TIES   = ties;
       Scoreservice.LOSSES = losses;
       String pattern = 
          "{ \"wins\":\"%s\", \"losses\":\"%s\", \"ties\": \"%s\"}";
       return String.format(pattern, WIN, LOSSES, TIES);   
    }



    @POST @Path("/scores/wins")
    @Produces("text/plain")
    public int increaseWin() {
        return ++WIN;   
    }


    @POST @Path("/scores/losses")
    @Produces("text/plain")
    public int increaseLosses() {
        return ++LOSSES;    
    }


    @POST @Path("/scores/ties")
    @Produces("text/plain")
    public int increaseTies() {
        return ++TIES;  
    }

    //GET METHOD

    @GET @Path("/scores/wins")
    @Produces("text/plain")
    public int getWin() {
        return WIN; 

    }

    @GET @Path("/scores/losses")
    @Produces("text/plain")
    public int getLosses() {
        return LOSSES;  
        }


    @GET @Path("/scores/ties")
    @Produces("text/plain")
    public int getTies() {
        return TIES;    
        }

}

问题:

代码完成后,我尝试在服务器上运行它,但它一直给我相同的结果,即 Http 404 错误(根据下面的附加链接)。

enter image description here

控制台日志:

enter image description here enter image description here

我不知道这个项目出了什么问题,我发誓在我来这里问这个问题之前我真的尝试过搜索结果。希望大家帮帮我,谢谢!

【问题讨论】:

  • 您要连接到哪个 URL?你是GETing 还是POSTing?
  • 可以在启动tomcat服务器的时候附上Eclipse中的控制台日志吗?
  • 正在连接到 URL:“localhost:8080/JavaRest/score”并且正在获取 @ScaryWombat
  • 在 tomcat / webapps 下是否有一个包含您的代码的目录,名为 JavaRest
  • 嗨@htpvl,我已附上控制台日志。请注意,我已经更改了端口号,因为我之前使用的端口已被占用。我已更改服务器详细信息图片(根据“服务器详细信息”中的附件)

标签: java rest tomcat jakarta-ee webservice-client


【解决方案1】:

关于您的控制台日志,您的 webapp 似乎尚未部署,即使您的 Tomcat 已在 Eclipse 中启动。

您可以通过将服务器位置切换到“使用 tomcat 安装”来修改 Eclipse 中的 Tomcat 配置(查看附件图片)。目前,该选项已禁用,您可以从 tomcat 服务器中删除您的应用程序,停止并清理 tomcat 服务器。然后该选项将被重新启用。

试一试,告诉我发生了什么。

【讨论】:

  • 您好 htpvl,我已附上图片供您参考。错误保持不变。
  • @Stephen,请关注此视频,与我的回答非常相似。 youtube.com/watch?v=orctlc_F5Y0
  • 您好 htpvl,我已在您的帖子中附上屏幕截图供您参考。我关注了您提供的 youtube 链接,但它保持不变。错误仍然出现。
猜你喜欢
  • 1970-01-01
  • 2016-07-17
  • 2016-08-02
  • 2016-05-13
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
相关资源
最近更新 更多