如何从Javaservlet向ajax返回数据
我的ajax功能如下所示:如何从Javaservlet向ajax返回数据,java,ajax,servlets,Java,Ajax,Servlets,我的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: "
$.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从服务器端获得的数据。但是我不知道如何设置这些数据,或者如何将这些数据从Javaservlet中的doGet方法返回到前端。doGet似乎是一个void方法,不能返回任何值,不是吗?我是一名网络开发的大一新生,提前感谢 您不需要从
doGet
方法返回任何东西,事实上您不能返回,因为它是无效的
因此,您需要做的是从响应中获取
PrintWriter
对象并向其写入数据,这将在success函数中可用。您可以通过写入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");
}
}
您可能注意到doGet()方法有两个参数:HttpServletRequest和HttpServletResponse
您可以使用HttpServletRequest获取有关请求的信息—任何参数、调用客户端IP、URL等
您可以使用HttpServletResponse来填充响应。HttpServletResponse有许多方法允许您设置响应头和数据