得到404错误,不知道为什么

时间:2015-08-03 10:54:52

标签: javascript java jquery html web-applications

问候我尝试为数据编写一些流式webApplication,因此我使用了一个教程并开始构建我的WebApplication,我的客户端,我的JS和我的HTML文档。 现在我的HTML文档有2个输入框1用于名称,1个用于值,如果我填写两个示例(名称:DAGO,值:2.2)然后我单击我的GET按钮它将这些数据保存到HashMap到目前为止工作。

当我尝试使用我的GET按钮读取DAGO的值时,它告诉我404找不到...但get函数在我的WebApp中,我不知道为什么会出现此错误。

希望我能够很好地解决我的问题,如果不是请注释,我将在现在添加您需要的源代码。

JavaScript代码

$(document).ready(function(){
$("#get").click(function(){
    var companyName = $("#companyname").val();

    $.ajax({
        url: "http://localhost:8080/TimeStreamingTestartID-1.0-SNAPSHOT/app/simplestockmarket/" + companyName,
        type: "GET",
        success: function(value){
            $("#marketprice").val(value);
        }
    });
});


$("#set").click(function(){
    var companyName = $("#companyname").val();
    var marketPrice = $("#marketprice").val();

    $.ajax({
        url: "http://localhost:8080/TimeStreamingTestartID-1.0-SNAPSHOT/app/simplestockmarket/" + companyName,
          type: "PUT",
          contentType: "text/plain",
          data: marketPrice,
          success: function(value){
          alert("SUCESS: SET!");
          }
    })
    });
});

Java代码(设置和获取功能)

@Path("/simplestockmarket")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.TEXT_PLAIN)

public class SimpleStockMarketResource {

    private MarketPriceStore marketPriceStore = new MarketPriceStore();

    @PUT
    @Path("/{companyname}")
    public void store(@PathParam("companyname") String companyName, Double marketPrice){
        companyName = companyName.toUpperCase();
    marketPriceStore.store(companyName,marketPrice);
}

@GET
@Path("/{companyname}")
public Response retrieve(@PathParam("companyname") String companyName){
    companyName = companyName.toUpperCase();
    Response.ResponseBuilder responseBuilder =Response.status(Response.Status.NOT_FOUND);
    marketPriceStore.retrieve(companyName).ifPresent(
        marketPrice -> responseBuilder.status(Response.Status.OK).entity(marketPrice)
    );
    return responseBuilder.build();
}
}

HTML代码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
Firmen Name:<br>
<input type="text" name="firmenname" id="companyname"><br>
Aktien Wert:<br>
<input type="text" name="aktienwert" id="marketprice"><br>

<button type= "btn btn-primary" id= "get">get</button>
<button type= "btn btn-primary" id= "set">set</button>


<script src="jquery-1.11.2.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="script.js"></script>


</body>
</html>

1 个答案:

答案 0 :(得分:2)

private MarketPriceStore marketPriceStore = new MarketPriceStore();

当对象存在时,marketPriceStore是对象的变量,但是当存储函数完成调用时对象消失,因此marketPriceStore消失。

您可以更改

private MarketPriceStore marketPriceStore = new MarketPriceStore();

private static MarketPriceStore marketPriceStore = new MarketPriceStore();