Hola.
Devolver un array como tal de poderce se puede, pero te recomiendo que retornes un JSON, lo que necesitas es un poco de Ajax. puedes usar JQuery. Yo generalmente utilizo el
Código Javascript
:
Ver original$.post('url del servllet', {dato1:valor, dato2:valor2... daton:valorn}, function(response){//el response es un string generalmente pero puede ser un objeto json}};
te explico, lo que va despues de la url del servlet es un arreglo que recibes en el servlet y la parte del function es lo que retorna el servlet, asi a grandes razgos.
en el servlet para resivir harias lo siguiente en el processRequest
Código Java:
Ver originalString dato1
= request.
getParameter("dato1");//sacas el dato1 que enviaste por el $.post y asi mismo todos los datos.
para el retorno es lo igual de facil, en el processRequest generalmente te pone esto al crearlo:
Código Java:
Ver originalresponse.setContentType("text/html;charset=UTF-8");
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet NewServlet at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
con eto puedes retornar una pagina entera para mostrar en un submit o retornar datos en una consullta asincrona con ajax.
para retornar datos simplemente quitas todo el html y en el out.println() pones lo que vas a restornar, ya sea una cadena, un numero, un boolean o un objeto JSON, recuerda que siempre llegara a la pagina como un string, para los JSON en el $.post haces el parsin y te quedara un objeto js.
Ej.
Código Java:
Ver originalresponse.setContentType("text/html;charset=UTF-8");
out.println("mensaje de respuesta");
}
tambien puedes enviar un objeto html si escribes el codigo html en la respuesta
ej:
Código Java:
Ver originalresponse.setContentType("text/html;charset=UTF-8");
out.println("<option value="+objeto.atributo1+">"+objeto.atributo2+"</option>");//retornar un option para un select html
}
al retornar objetos html los eventos js debes ponerlos en $.post al recibirlos de otra manera no podras obtener los eventos con js.
iguamente si quieres recibir un JSON o un string y quieres crear dinamicamente un objeto directamente con js puedes hacerlo.
te dejo un ejemplo de el parser Json de java, es bastante facil de usar.
https://docs.oracle.com/javaee/7/api...erFactory.html