Я пытаюсь написать простой онлайн-калькулятор ИМТ, я новичок в использовании Ajax с сервлетом.Я пытаюсь отправить объект JSON сервлету, этот объект выглядит (это только пример)
{"fname": "name", "lname": "lastname", "email": "jh "}
Предполагается, что сервлет берет вес и рост и вычисляет BMI, чтобы вернуть его в ответ на веб-страницу
после применения этого кода на странице index.jsp
затем я обрабатываю запрос в сервлете следующим образом:
$(document).ready(function(){
$("#simplepost").click(function(e)
{
var data = $('#ajaxform').serializeObject();
$.ajax({
type: "POST",
url: "AddServlet",
contentType: "application/json",
data: JSON.stringify(data),
success: function(response) {
// ...
}
});
});
});
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.HTTP;
import org.json.JSONException;
import org.json.JSONObject;
public class AddServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
JSONObject jsonObject;
StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
} catch (Exception e) { e.printStackTrace(); }
try {
jsonObject = HTTP.toJSONObject(jb.toString());
System.out.println("jsonObject "+jsonObject);
System.out.println("jb "+jb);
} catch (JSONException e) {
// crash and burn
throw new IOException("Error parsing JSON request string");
}
}
}
Я получаю этот результат на сервлете:
jsonObject
{"Request-URI":"","Method":"{\"fname\":\"name\",\"lname\":\"lastname\",\"email\":\"jh\"}","HTTP-Version":""}
jb
{"fname":"kjh","lname":"jkh","email":"jh"}
Как я могу прочитать данные JSON наСервлет для расчета ИМТ?
И как я могу отправить результат (число) в качестве ответа на веб-страницу?
** Я пытался использовать класс ObjectMapper, я получаю ошибки,Я пытался добавить зависимости, но затмение перестает работать, когда я пытаюсь обновить индексы