¿Cómo reenviar la salida del servlet a la página jsp?visualización del resultado del servlet en la página jsp
Eso significa que el resultado se mostrará en la página JSP.
¿Cómo reenviar la salida del servlet a la página jsp?visualización del resultado del servlet en la página jsp
Eso significa que el resultado se mostrará en la página JSP.
Para reenviar una solicitud/respuesta de servlet desde una a otra cosa (por ejemplo, JSP) que querrá mirar a la clase RequestDispatcher
. La clase ServletContext tiene un método para obtener un despachador, que se puede llamar desde un servlet.
Por ejemplo (a menos de método doPost
/doGet
de un servlet):
RequestDispatcher rd = getServletConfig().getServletContext()
.getRequestDispatcher("/jsp/myfile.jsp").forward(request,response);
Normalmente no hace uso de un servlet para generar la salida HTML. Normalmente usas JSP/EL para esto. Usar out.write
y consortes para transmitir contenido HTML se considera una mala práctica. Mejor hacer uso de attribus de solicitud.
Por ejemplo:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
Object data = "Some data, can be a String or a Javabean";
request.setAttribute("data", data);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
Ubicación en web.xml en una <url-pattern>
de, por ejemplo /page
. Coloque el JSP en /WEB-INF
para evitar el acceso directo. Luego, en la JSP puede utilizar EL (Expression Language) para acceder a los atributos con ámbito:
<p>The data from servlet: ${data}</p>
llamada al servlet por http://example.com/context/page
. Simple como eso. De esta forma puede controlar el resultado y la presentación en un solo lugar, el JSP.
Than Q .it está trabajando – pavan
getServletConfig().getServletContext()
.getRequestDispatcher("/jsp/myfile.jsp").forward(request,response);
es VOID
tipo, no puede volver RequestDispatcher
rd.
Eso es exactamente lo contrario de lo que OP está pidiendo. – schlingel
No puedo ver cómo es eso verdad ... – inkredibl
Problema: Estás en un servlet y quieres representar un JSP específico. Solución: incluya el resultado del servlet en el JSP. (¿Qué?) Pero eso no es lo que quiero. Deseo enviar al usuario después de una acción específica a un JSP específico. Puede ser el mismo o pueden diferir con respecto a los parámetros (página de error, página de éxito, etc.) – schlingel