我的ajax功能如下:
$.ajax({
type: 'GET',
url: "/myservlet",
data: {
objects: '2',
dimension: '2',
},
success: function( data ) {
console.log(data);
alert(data);
},
error:function(data,status,er) {
alert("error: "+data+" status: "+status+" er:"+er);
}
});
我有我的servlet来处理发送到/ myservlet的数据。我从ajax教程中读到,它说成功函数中的数据是ajax从服务器端获得的数据。但我不知道如何设置此数据或将此数据从Java servlet中的doGet方法返回到前端。看来doGet是一个void方法,不能返回任何值,不是吗?我是网络开发的新生,提前谢谢!
答案 0 :(得分:3)
您可以通过写response.getWriter().write("");
来获取servlet中的数据。
这是一个简单的servlet示例。
@WebServlet(name = "MyServlet", urlPatterns = {"/myservlet"})
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("Success Data");
}
}
答案 1 :(得分:0)
你不需要从doGet
方法返回任何东西,事实上你不能,因为它是无效的。
所以你需要做的是从响应中获取PrintWriter
对象并向其写入数据,并在成功函数中提供。
答案 2 :(得分:0)
您可能会注意到doGet()方法有两个参数:HttpServletRequest和HttpServletResponse。
您使用HttpServletRequest获取有关请求的信息 - 任何参数,调用客户端IP,URL等。
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html
使用HttpServletResponse填充响应。 HttpServletResponse有许多方法可以让你设置响应头和数据。
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html