servlet应该返回什么只接收数据?

时间:2015-09-24 14:21:57

标签: java ajax jsp servlets

我实现了一个接收JSON字符串的servlet,将其转换为对象并将其数据插入到数据库中。我使用AJAX从HTML页面调用该servlet并将JSON字符串发布到它。在我的例子中,servlet是否有必要在响应中写入任何内容?

3 个答案:

答案 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!");
}
}