Un forward et un redirect, ce n'est pas la même chose ...
Le forward est local au moteur de servlet/jsp, le redirect implique le navigateur (cf plus bas).
- soit www.monsite.com/mapage.jsp
si cette jsp fait un FORWARD vers "mapage2.jsp" (locale au serveur)
le navigateur ne le sait pas (lui il voit comme url mapage.jsp)
si cette jsp fait un redirect alors là le navigateur affichera la nouvelle URL ...
Forward:
- le navigateur fait une requête
- ton moteur servlet / jsp invoque donc une servlet / jsp pour réponde à cette requête
- cette servlet / jsp fait un forward (vers une autre servlet / jsp locale)
- ton moteur servlet / jsp invoque alors cette nouvelle servlet / jsp pour produire le résultat (généré le contenu envoyé au navigateur) ...
Redirect:
- le navigateur fait une requête
- ton moteur servlet / jsp invoque donc une servlet / jsp pour réponde à cette requête
- cette servlet / jsp fait un redirect (vers une url locale ou pas), ceci génère une réponse HTTP 301 (moved permanently) contenant l'url cible
- c'est alors le navigateur qui refait (de façon automatique et caché) une nouvelle requête vers l'url cible ....
# Nein !!!
Posté par Yaourt . En réponse au message jsp response.sendRedirect. Évalué à 2.
Le forward est local au moteur de servlet/jsp, le redirect implique le navigateur (cf plus bas).
- soit www.monsite.com/mapage.jsp
si cette jsp fait un FORWARD vers "mapage2.jsp" (locale au serveur)
le navigateur ne le sait pas (lui il voit comme url mapage.jsp)
si cette jsp fait un redirect alors là le navigateur affichera la nouvelle URL ...
Forward:
- le navigateur fait une requête
- ton moteur servlet / jsp invoque donc une servlet / jsp pour réponde à cette requête
- cette servlet / jsp fait un forward (vers une autre servlet / jsp locale)
- ton moteur servlet / jsp invoque alors cette nouvelle servlet / jsp pour produire le résultat (généré le contenu envoyé au navigateur) ...
Navigateur ---> Tomcat (forward) ---> Tomcat ----> Navigateur
Redirect:
- le navigateur fait une requête
- ton moteur servlet / jsp invoque donc une servlet / jsp pour réponde à cette requête
- cette servlet / jsp fait un redirect (vers une url locale ou pas), ceci génère une réponse HTTP 301 (moved permanently) contenant l'url cible
- c'est alors le navigateur qui refait (de façon automatique et caché) une nouvelle requête vers l'url cible ....
Navigateur ---> Tomcat (redirect) ---> (301) Navigateur ---> Tomcat