[java] RequestDispatcher et URL

RequestDispatcher et URL [java] - Java - Programmation

Marsh Posté le 08-08-2002 à 16:27:07    

Salut, voilà j'utilise un request despatcher pour rediriger ma servlet vers une JSP.
 
Cependant IE garde l'URL de ma servlet, or je vourdrais celle de ma JSP.
 
Voilà le bout de code incriminé :
 

Code :
  1. req.getRequestDispatcher("/mapagejsp.jsp" ).forward(req,res);


 
Voilà
Merci pour vos futurs réponses


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 08-08-2002 à 16:27:07   

Reply

Marsh Posté le 08-08-2002 à 16:29:07    

doPost ou doGet ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-08-2002 à 16:30:31    

Je suis dans un doPost. Ca change qqch  :??:


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 08-08-2002 à 16:31:08    

de mes vagues souvenirs c'est bien possible ;)
 
Pq tu veux que IE change d'URL au fait ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-08-2002 à 16:35:01    

Et bien je me dis que ce serait mieux si quand on affiche la page "page.jsp" il y est "page.jsp" dans IE au lieu de "MaServlet".
 
Voilà une simple question d'ergonomie ou qqch comme ça  :o


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 08-08-2002 à 16:39:52    

passe le en doGet


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-08-2002 à 16:47:41    

Ben en fait c ce que je fais :
 

Code :
  1. public void doPost (HttpServletRequest req, HttpServletResponse res) throws javax.servlet.ServletException, java.io.IOException
  2.    {
  3.     doGet(req, res);
  4.    }


 
Ou alors j'ai mal compris et il faut que je poste mon formulaire avec la méthode GET, ce qui n'est pas souhaitable car on ne doit pas voir les paramètres dans l'URL enfin dans la mesure du possible dans le cas contraire je me contenterai d'un :
 

Code :
  1. rs.sendRedirect("maPage.jsp"+params);


 
avec Params qui contient ma liste de paramètres.


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 08-08-2002 à 16:52:39    

dans ton formulaire qui fait appel à ta servlet fait un ACTION=GET au lieu d'un ACTION=POST
 


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-08-2002 à 17:00:40    

Oui ça marche mieux mais je me retrouve du coup avec les paramètres dans L'URL.
 
Bon je vais deamnder à mon chef de projet ce qu'il préfère paramètres dans l'URL ou nom de page qui correspond pas, telle est la question ? [:spamafote]


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 08-08-2002 à 17:37:26    

si tu fais un forward depuis le request dispatcher l'url va pas changer.
forcément: ton browser appelle une url. il l'affiche dans la barre d'url et demande cette url au serveur. le serveur renvoie du contenu.
 
si tu fais un sendredirect dans ta servlet: le serveur envoie un message redirect(je sais plus c quoi le code...) au browser avec l'url qu'il doit reclamer, et ensuite le browser demande cette url au serveur. donc forcément dans ce cas dans ton browser tu vois l'url vers laquelle tu as redirigé.
 
fais des forward, et donne des noms "propres" a tes mappings de servlet... (me dit pas que tu utilises /servlet/com.blabla.con  :fou: )

Reply

Marsh Posté le 08-08-2002 à 17:37:26   

Reply

Marsh Posté le 08-08-2002 à 18:04:53    

Oui finalement on a decidé que ce n'était pas dramatique si on gardait l'URL de la servlet.
 
Merci pour votre participation  :jap:


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 08-08-2002 à 19:04:04    

en fait, c'est pas un dispatcher que tu dois utiliser : le dispatcher c'est un truc côté serveur => IE n'a aucune connaissance du fait que ce soit une JSP et non la servlet qui a généré la page.
 
Toi c'est uen redirection que tu dois faire : il faut que tu fasse un response.sendRedirect(tonUrl);. Ca va envoyer au browser un message qui lui dit d'appeler ta JSP pour avoir la page HTML
 
mais attention : il ne faut pas que tu attaches les données à la requête mais à la session puique IE va envoyer une nouvelle requête

Reply

Marsh Posté le 09-08-2002 à 01:33:25    

benou a écrit a écrit :

en fait, c'est pas un dispatcher que tu dois utiliser : le dispatcher c'est un truc côté serveur => IE n'a aucune connaissance du fait que ce soit une JSP et non la servlet qui a généré la page.
 
Toi c'est uen redirection que tu dois faire : il faut que tu fasse un response.sendRedirect(tonUrl);. Ca va envoyer au browser un message qui lui dit d'appeler ta JSP pour avoir la page HTML
 
mais attention : il ne faut pas que tu attaches les données à la requête mais à la session puique IE va envoyer une nouvelle requête



dis benou, suis un peu hein, je lui ai deja expliqué ça :D
et jpense que ds le cas d'une servlet qui "appelle" un jsp, c plus bo de dispatcher nan...

Reply

Marsh Posté le 09-08-2002 à 08:48:26    

--greg-- a écrit a écrit :

dis benou, suis un peu hein, je lui ai deja expliqué ça :D
et jpense que ds le cas d'une servlet qui "appelle" un jsp, c plus bo de dispatcher nan...




ha merde, tu l'as déjà dit ?? j'ai lu vite j'avais du retard .... :/
 
et bien sur, le dispatcher c'est plus propre et surtout bien plus rapide ! mais bon, si il veut que son client ait l'url qui soit réactualisées, c'est le seul moyen ...

Reply

Marsh Posté le 09-08-2002 à 09:23:31    

Oui mais finalement comme je l'ai dis, on va garder l'URL de la servlet, on préfère ça plutôt que de voir tous les params dans l'URL  :)


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
Reply

Marsh Posté le 09-08-2002 à 09:40:31    

archangel a écrit a écrit :

Oui mais finalement comme je l'ai dis, on va garder l'URL de la servlet, on préfère ça plutôt que de voir tous les params dans l'URL  :)  




t'as pas obligé : tu pourrais très bien garder les infos dans la session

Reply

Marsh Posté le 09-08-2002 à 11:07:34    

benou a écrit a écrit :

 
ha merde, tu l'as déjà dit ?? j'ai lu vite j'avais du retard .... :/



2 posts au dessus du tiens ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed