问候我尝试为数据编写一些流式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>
答案 0 :(得分:2)
private MarketPriceStore marketPriceStore = new MarketPriceStore();
当对象存在时,marketPriceStore
是对象的变量,但是当存储函数完成调用时对象消失,因此marketPriceStore
消失。
您可以更改
private MarketPriceStore marketPriceStore = new MarketPriceStore();
到
private static MarketPriceStore marketPriceStore = new MarketPriceStore();