从javascript接收在jsp中发送JSON的POST请求

时间:2017-02-20 18:52:48

标签: javascript java json ajax jsp

我制作了一个有输入的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);
    }
}

1 个答案:

答案 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?