我实现了一个接收JSON字符串的servlet,将其转换为对象并将其数据插入到数据库中。我使用AJAX从HTML页面调用该servlet并将JSON字符串发布到它。在我的例子中,servlet是否有必要在响应中写入任何内容?
答案 0 :(得分:2)
你不需要退货。请求周期完成后,您的浏览器会将其响应对象作为流接收。如果你想添加一些东西。
response.getWriter().write(somedata);
您将在AJAX回调中收到somedata
。
有关代码的详细示例:How to use Servlets and Ajax?
答案 1 :(得分:1)
最好在try catch块中执行数据库事务,并将成功/失败状态标志返回给客户端,以防因任何原因导致事务失败。
答案 2 :(得分:1)
由于您提到您对servlet进行了ajax调用,因此您应该将JSON状态返回给调用.ajax()
response.setContentType("application/json");
// Get the printwriter object from response to write the required json object to the output stream
PrintWriter out = response.getWriter();
// Assuming your database operation insert is successful
JSONObject json = new JSONObject();
// put a success message into the JSON object .
json.put("status", "success");
out.print(jsonObject);
out.flush();
在客户端
success: function(data) {
if(data.status == 'success'){
alert("Thank you for subscribing!");
}else if(data.status == 'error'){
alert("Error on query!");
}
}