sendredirect - send redirect servlet
response.sendRedirect() de Servlet a JSP no parece funcionar (4)
Como ya ha enviado algunos datos,
System.out.println("going to demo.jsp");
no podrás enviar una redirección.
Estoy escribiendo un programa de servidor de cliente. Estoy enviando una lista de arrays desde un teléfono Android y también puedo recibir la lista. Después de eso, quiero que el servlet redirija a demo.jsp
usando response.sendRedirect()
, pero simplemente no se redirigirá. Intentado con requestDispatcher.forward()
también.
ObjectInputStream in = new ObjectInputStream((InputStream) request.getInputStream());
List<Double> al=(List<Double>)in.readObject();
in.close();
for(int x=0;x<al.size();x++)
{
System.out.println("List");
System.out.println(al.get(x));
}
System.out.println("going to demo.jsp");
response.sendRedirect("demo.jsp");
¿Cómo es esto causado y cómo puedo resolverlo?
En lugar de usar
response.sendRedirect("/demo.jsp");
Lo que hace una redirección permanente a una ruta de URL absoluta,
Más bien use RequestDispatcher
. Ejemplo:
RequestDispatcher dispatcher = request.getRequestDispatcher("demo.jsp");
dispatcher.forward(request, response);
Estoy publicando esta respuesta porque el que obtuvo más votos me extravió. Para redirigir desde un servlet, simplemente haz esto:
response.sendRedirect("simpleList.do")
En esta pregunta en particular, creo que @MD está explicando correctamente por qué el asker tiene su problema, pero dado que este es el primer resultado en Google cuando buscas "Redirect from Servlet", creo que es importante tener una respuesta que ayude a la mayoría de las personas , no solo el asker original.
Puedes usar esto:
response.sendRedirect(String.format("%s%s", request.getContextPath(), "/views/equipment/createEquipment.jsp"));
La última parte es tu camino en tu aplicación web