2012-03-27 15 views
5

Mirando a través de algún código heredado que tengo frente a mí usando puntales uno, veo:redirección hacia adelante o

<global-forwards> 
    ... 
    <forward name="accessDenied" path="/www/jsp/AccessDeniedForm.do" redirect="true" /> 
</global-forwards> 

lo que es sólo un avance mundial para enviar a una página de acceso denegado. Tengo curiosidad acerca de la decisión de redirigir en lugar de reenviar. ¿Cuáles son las ventajas y desventajas de usarlo?

+0

La respuesta que estaba buscando está aquí ... http://stackoverflow.com/questions/614516/why-use-redirect-true-in-struts-1-forward Este hilo se puede cerrar como un duplicado. Lo siento. – dublintech

Respuesta

5

¿Cuáles son los pro y los contras de usarlo?

Antes de analizar las ventajas y desventajas de usar ese elemento directo con el redireccionamiento establecido en verdadero, comprendamos qué está pasando realmente con esa configuración. Cuando la redirección se establece en verdadero en el elemento de reenvío, se debe emitir una instrucción de redireccionamiento al agente de usuario para que se emita una nueva solicitud para el recurso de reenvío. Es probable que link proporcione la información detallada que necesita.

El valor predeterminado para la redirección es falso, esencialmente cuando se invoca el elemento de reenvío, reenvía a la ruta especificada y eso es todo. Si está configurando la redirección como verdadera, tome por ejemplo, el navegador hará otra solicitud. Así que creo que con estos dichos, probablemente conozcas o tengas una idea del pro y el contra si realmente quieres usarla.

1

En la redirección, el control se puede dirigir a diferentes servidores o incluso a otro nombre de dominio.La redirección realiza un viaje de ida y vuelta.Cuando se emite una redirección, se envía de vuelta al cliente y la información de la URL redirigida está en el encabezado indicando al navegador que se mueva a la siguiente URL. Esto actuará como una nueva solicitud y se perderán todos los datos de solicitud y respuesta.

En adelante, el reenvío se realiza desde el servidor, la URL del navegador del cliente no cambia. Los datos tampoco se pierden. Es como una actualización de la página del navegador. Todos los datos publicados en el primer envío se vuelven a enviar nuevamente. Por lo tanto, úselo con precaución.

Tanto el reenvío como el redireccionamiento se utilizan en diferentes escenarios, el reenvío global debe redirigirse porque es una situación de error.

Redirigir es más lento ya que necesita una ida y vuelta. Los avances son más rápidos.

+0

Entiendo la diferencia entre reenviar y redirigir. Solo estoy buscando los pro y los contras de ambos enfoques y cuándo usar cada enfoque en la configuración de tus puntales. – dublintech

+0

pros y contras también se explican en la respuesta anterior. – cherit

0

Si especifica

redirección = "true", Struts utiliza una redirección del lado del cliente

[response.sendRedirect()]

. El JSP se invocará mediante una nueva solicitud del navegador y se perderán todos los datos almacenados en la solicitud anterior.

Cuestiones relacionadas