Existe una diferencia importante entre redirección y reenvío: cuando se utiliza el reenvío, el contenedor JSP utilizará un método interno para llamar a la página de destino, y la nueva página continuará procesando la misma solicitud y el navegador no sabrá sobre este proceso. Por el contrario, el método de redirección significa que la primera página notifica al navegador que envíe una solicitud de nueva página. Porque, cuando usas el redireccionamiento, la URL que se muestra en el navegador se convertirá en la URL de la nueva página, y cuando usas el reenvío, la URL permanecerá sin cambios. Los redireccionamientos son más lentos que los reenvíos porque el navegador tiene que realizar una nueva solicitud. Al mismo tiempo, dado que el método de redirección genera una nueva solicitud, el objeto de la solicitud no estará disponible después de una redirección.
¿Cómo elegir si redireccionar o reenviar? Por lo general, el reenvío es más rápido y puede mantener el objeto en la solicitud, por lo que es la primera opción. Sin embargo, dado que después del reenvío, la URL en el navegador todavía apunta a la página de inicio, si se recarga la página actual, se volverá a llamar a la página de inicio. Si no quieres que esto suceda, elige reenvío.
La diferencia entre reenviar y redirigir
No utilice el alcance de la sesión solo para pasar variables a la página siguiente. Eso aumentará el alcance de la variable sin ningún motivo. El reenvío puede ayudarlo a resolver este problema.
Redirección: todas las variables almacenadas en la solicitud anterior no son válidas y ingresan a un nuevo alcance de solicitud.
Reenvío: las variables almacenadas en la solicitud anterior no dejarán de ser válidas, como si se juntaran dos páginas.