我制作了一个有输入的HTML页面。我通过javascript获取值,创建一个JSON,我想通过ajax发送它。我还有一个JSP应用程序,它在java中运行一个方法来接收这个JSON并读取它,以便它可以存储在数据库中。问题是我不知道如何从我的jsp应用程序中的ajax接收此调用并将其发送到我在java中的方法。有人可以帮我弄这个吗?
使用Javascript:
alert("I am about to POST this:\n\n" + dat);
$.ajax({
url: '/path/to/file',
type: 'POST',
dataType: 'JSON',
data: dat,
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
`
JSP:
'<%@ page language="java" import="connection.JsonHandler" %>
<%
String json = request.getParameter("dat");;
JsonHandler gson = new JsonHandler();
gson.ReadJson(json);
%>
爪哇:
package connection;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.google.gson.GsonBuilder;
import entidades.User;
import java.lang.reflect.Type;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonHandler {
public Gson CreateJson(String values) {
Gson gson = new GsonBuilder().create();
gson.toJson("Hello", System.out);
gson.toJson(123, System.out);
return gson;
}
public void ReadJson(String json){
Gson gson = new Gson();
Type type = User.class;
gson.fromJson(json,type);
}
}
答案 0 :(得分:0)
您可以编写一个servlet,它将接受您的POST请求。请参阅I couldn't get the POST value in servlet page?或How to get the data from ajax request in servlet page?