Red de conocimiento informático - Aprendizaje de programación - ¿Cuál es la diferencia entre reenvío y redirección en el desarrollo de Java?

¿Cuál es la diferencia entre reenvío y redirección en el desarrollo de Java?

Existe una diferencia importante entre redirección y reenvío: cuando se utiliza el reenvío, el contenedor JSP utilizará métodos internos para llamar a la página de destino, y la nueva página continuará manejando la misma solicitud y el navegador no sabrá acerca de este proceso. Por el contrario, una 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 convierte en la URL de la nueva página, mientras que cuando usas el reenvío, la URL sigue siendo la misma. Los redireccionamientos son más lentos que los reenvíos porque el navegador debe realizar una nueva solicitud. Al mismo tiempo, dado que la redirección genera una nueva solicitud, el objeto de la solicitud no estará disponible después de la redirección.

¿Cómo elegir redirigir o reenviar? Por lo general, el reenvío es más rápido y los objetos de la solicitud se pueden conservar, por lo que es la primera opción. Sin embargo, dado que la URL en el navegador todavía apunta a la página de inicio después del reenvío, si la página actual está sobrecargada, se recuperará la página de inicio. Si no desea que esto suceda, elija reenviarlo.

La diferencia entre reenvío y redirección

No utilice el alcance de la sesión solo para pasar variables a la página siguiente. Esto aumentará el alcance de las variables sin ningún motivo. Resuelves este problema.

Redireccionamiento: todas las variables almacenadas en la solicitud anterior no son válidas y ingresan al alcance de la nueva solicitud.

Adelante: Las variables almacenadas en la solicitud anterior no se invalidarán, como si se juntaran dos páginas.