Foros del Web » Programación para mayores de 30 ;) » Java »

Diferencias

Estas en el tema de Diferencias en el foro de Java en Foros del Web. Alguien sabe las diferencias entre hacer un forward y un redirect con Struts?? Por favor y gracias...
  #1 (permalink)  
Antiguo 09/01/2007, 03:43
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 1
Diferencias

Alguien sabe las diferencias entre hacer un forward y un redirect con Struts??

Por favor y gracias
  #2 (permalink)  
Antiguo 09/01/2007, 11:15
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Diferencias

Wop!

No conozco Struts, pero en general un redirect implica enviar un codigo http 300 con la url de redirección, y será el cliente quien realize una nueva petición a esa url. En cambio un forward es un mecanismo interno del servidor de aplicaciones que sirve para seguir gestionando la misma petición con otro elemento (otro jsp, otro servlet, etc) pero, en cualquier caso, no hay comunicación con el cliente.
  #3 (permalink)  
Antiguo 09/01/2007, 12:38
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Diferencias

Muchas gracias por la respuesta marto_dev, pero aun hay una cosa que no me queda clara. Si quiero pasar unos parámetros, ¿cual tendria que usar?
  #4 (permalink)  
Antiguo 09/01/2007, 13:25
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Diferencias

Wop!

pues eso depende, ya que puedes pasarlos de las dos formas... te explico.

Redirect va a provocar una nueva peticion http, por lo tanto puedes pasarte parametros como en cualquier otra (?par1=val1&par2=val2, etc).

Si haces un forward, el objecto que gestione la solicitud a partir de ese momento tendrá acceso a la misma instancia de HttpServletRequest que antes del forward (ya que es la misma peticion). Un ejemplo claro de forward que aparece en struts y en cualquier mvc es entre el controlador (tu Action) y la vista (tu jsp). Después de ejecutar la action o action (entre las que tambien se hacen forwards) se hace un último forward a la jsp, y des de la jsp sigues accediendo a a los metodos de la HttpServletRequest.
La manera típica de pasarse arametros es mediate los métodos de HttpServletRequest setAttribute y getAttribute.

Como puedes ver, generalmente, es mas aconsejable un forward que un redirect.

No sé si me he enrollado demasiado, pero espero que se entienda ;)
  #5 (permalink)  
Antiguo 11/01/2007, 09:34
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Diferencias

Muchas gracias. No qiero abusar, pero te voy a hacer otra preguntilla: ¿cómo puedo hacer para que una imagen (q es un link) me haga un forward? he intentado meterle la imagen dentro pero me da un error.
  #6 (permalink)  
Antiguo 11/01/2007, 11:28
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Diferencias

Wop!

pues no entiendo muy bien lo que quieres hacer... si se trata de que al hacer click en la imagen se acceda a otra url, pues pones la url en la propiedad href del link y ya está... pero supongo que no te refieres a eso ???
  #7 (permalink)  
Antiguo 11/01/2007, 11:34
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Diferencias

A ver si me explico un poco mejor. Estoy trabajando con struts (algo que no llevo muy bien, pero bueno) el caso es que tengo que hacer una paágina con un monton de links (q en este caso quiero que sean imágenes) y que con cada unos de ellos me lleve a una determinada página.
  #8 (permalink)  
Antiguo 11/01/2007, 11:52
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Diferencias

Wop!

entonces el caso es sencillo, cuando generes el html tienes que poner la imagen dentro del link y que éste apunte a la pagina que quieres, por ejemplo

Código:
<a href="direccion.absulta.com">
	<img src="una_imagen.jpg" />
</a>
<a href="direccio/relativa/pagina.html">
	<img src="otra_imagen.jpg" />
</a>
Me explico ahora?
  #9 (permalink)  
Antiguo 11/01/2007, 12:24
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Diferencias

si, pero he visto que con strust se hace <html:link action="" />
sabes tu como se hace esto??
  #10 (permalink)  
Antiguo 11/01/2007, 12:35
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Diferencias

jeje omito mi última pregunta, que estaba mezclando las dos cosas. Muchas gracias me has ayudado mucho.

Saludos :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:20.