La diferencia clave entre los dos es que el método forward() cerrará el flujo de salida después de que se ha sido invocado, wh El método de inclusión deja la secuencia de salida ABIERTA.
responder con un ejemplo: deja para tener una página servlet xxx.java llamado y una página JSP llamado yy.jsp
En el yy.jsp
WELCOME to yy.jsp
En el xxx. java // utilizando adelante()
RequestDispatcher rd = request.getRequestDispatcher("yy.jsp"); rd.forward(request,response); out.println("back to servlet"); //this wont b displayed
salida
WELCOME to yy.jsp
En el xxx.java // usando incluir()
RequestDispatcher rd = request.getRequestDispatcher("yy.jsp"); rd.include(request,response); out.println("back to servlet");
salida
WELCOME to yy.jsp back to servlet
pero lo más importante ITS no sobre el control, porque si ponemos un
System.out.println("console output");
después de cualquiera de los .forward()
o .include()
invocación, la salida de la consola se generará en cada caso. Su acerca de la respuesta al cliente
Por lo tanto, la parte básica es si estamos procesando en un componente del lado del servidor y luego hacia adelante a una JSP o servlet con el fin de generar el marcado para un cliente, una vez que la JSP o El servlet ha finalizado el procesamiento, ya no podemos llamar a ningún otro componente para generar el marcado que puede ser enviado al cliente. Una vez que hayamos realizado un forward, la generación de marcado para la solicitud actual y el ciclo de respuesta habrá finalizado.
De forma alternativa, con un include, el flujo de salida permanece abierto, por lo que podemos invocar tantos archivos diferentes para generar el marcado del lado del cliente que necesitamos. De modo que podemos incluir dos o tres archivos JSP e incluso un Servlet en la cadena de componentes que generan el marcado basado en el cliente. Cuando usamos un include, el flujo de salida no se cierra después de la invocación.
¿Probaste algo llamado búsqueda de Google? – Santosh
Hice una búsqueda en Google, y así es como llegué aquí. Casi cualquier pregunta puede responderse con "RTFM" o "STFW", pero stackoverflow se ha convertido en un recurso fantástico para mí, ya que ofrece explicaciones sucintas y múltiples perspectivas en trozos de tamaño digerible. Me alegra que la gente haga preguntas que ya tienen respuestas disponibles. – WoodenKitty
Pocas cosas son más irritantes que hacer una búsqueda en Google para encontrar una respuesta y encontrar "¿Probó algo llamado búsqueda de Google?" – Arijit