如何从Javaservlet向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功能如下所示:

$.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有许多方法允许您设置响应头和数据