簡體   English   中英

接收來自javascript的POST請求以jsp發送JSON

[英]Receive POST request sending JSON in jsp from javascript

我制作了一個帶有輸入的HTML頁面。 我通過javascript獲取值,創建了一個JSON,我想通過ajax發送它。 我還有一個JSP應用程序,該應用程序在Java中運行一個方法,該方法接收此JSON並讀取該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);
%>

Java的:

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);
    }
}

您可以編寫一個Servlet,它將接受您的POST請求。 請參閱我在servlet頁面中無法獲取POST值? 如何從servlet頁面中的ajax請求獲取數據?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM