Chainage de Servlets.... [Java] - Java - Programmation
Marsh Posté le 08-08-2002 à 15:49:20
Dephi a écrit a écrit : J'ai raison ???? |
j'ai bien peur que oui
je n'ai jamais trouvé la réponse en tout cas....
si ca existe je suis preneur !!!
Marsh Posté le 08-08-2002 à 16:06:43
getRequestDispatcher("lurlverstaservletB" ).forward(request, response);
Marsh Posté le 08-08-2002 à 16:38:02
--greg-- a écrit a écrit : getRequestDispatcher("lurlverstaservletB" ).forward(request, response); |
Bonne réponse greg !!!
Enfin non...
Mais C de ma faute, j'ai pas tout dit....
Je complète donc..
J'avais déjà essayé d'utiliser justement RequestDispatcher mais ca n'a pas marché...
Pkoi ?? parce que dans la servlet (1) d'Upload, ma request est passé en tant que multipart/form-data
Code :
|
Si je chaîne vers une autre servler avec ta méthode, je suis incapable de récupérer les paramêtres !!!!!
(du à l'enctype particulier de la première request)
Te casse pas, dans mon cas ca me semble impossible à passer ca en post..
(à moins que tu ne connaisse une autre solution.. )
Merci en tout cas !!!
Marsh Posté le 08-08-2002 à 16:39:30
euh ché pas, mais à priori c possible mais bon j'en sais jconnais pas tres trucs
t'as essayé?
ça donne quoi....?
Marsh Posté le 08-08-2002 à 16:42:24
--greg-- a écrit a écrit : euh ché pas, mais à priori c possible mais bon j'en sais jconnais pas tres trucs t'as essayé? ça donne quoi....? |
Ca donne pas grand chose en fait..
Dans (2) avec RequestDispatcher si je fais un :
request.getParameter("function" ) ca me renvoit null alors que ca me devrait me renvoyer une valeur....
La seule solution que j'ai trouvé C de récupérer les params et de les ajouter après le ? de l'url (en get koi )
Marsh Posté le 08-08-2002 à 16:45:51
Dephi a écrit a écrit : Ca donne pas grand chose en fait.. Dans (2) avec RequestDispatcher si je fais un : request.getParameter("function" ) ca me renvoit null alors que ca me devrait me renvoyer une valeur.... La seule solution que j'ai trouvé C de récupérer les params et de les ajouter après le ? de l'url (en get koi ) |
c probablement ton "function" qui est po bon.
et comment tu fais de toutes façons, apres, pour réappeler ta servlet B en get...?
Marsh Posté le 08-08-2002 à 16:46:42
passe tes paramètres d'une servlet à l'autre en les mettant dans la session:
Code :
|
et aprés dans la 2ème servlet tu récupères comme ca:
Code :
|
voilà c'est ca que tu veux nan?
Marsh Posté le 08-08-2002 à 16:50:13
bah comme en post ca marche pas, et que get ca pue, il a pas trop le choix je crois...
Marsh Posté le 08-08-2002 à 16:51:19
_guigui_ a écrit a écrit : bah comme en post ca marche pas, et que get ca pue, il a pas trop le choix je crois... |
et en post ça marche
Marsh Posté le 08-08-2002 à 16:53:49
ben il veut pas que passer de l'une à l'autre tout connement je pense, il veut bien passer des paramètres en plus non?
sinon get c'est pas limité à 255 caractères?
Marsh Posté le 08-08-2002 à 16:54:03
Non, C pas ca...
Encore une contrainte que j'ai oublié de préciser...
Dans (2), faut absolument que je récupère les paramêtres en request.getParameter() car ma servlet (2) est appellée par pleins de petits jsp qui passent tous le paramêtre function via la requete et non pas via la session...
greg > je fais...
Code :
|
donc je passe bien en get à (2)
Marsh Posté le 08-08-2002 à 16:54:09
en théorie
Marsh Posté le 08-08-2002 à 17:00:41
Dephi a écrit a écrit : [...]donc je passe bien en get à (2) |
l'embetant avec la methode sendRedirect, c'est que c'est le browser qui fait la redirection en fait.
le requestdispatcher, ça marche tu sais mais c'est pas toujours évident de savoir quelle url il faut mettre ..
Marsh Posté le 08-08-2002 à 17:03:56
en fait je me pose la meme question que dephi, comment passer d'une servlet à une autre (ou à une jsp) avec le RequestDispatcher en POST ? c'est pas possible si?
Marsh Posté le 08-08-2002 à 17:08:42
_guigui_ a écrit a écrit : en fait je me pose la meme question que dephi, comment passer d'une servlet à une autre (ou à une jsp) avec le RequestDispatcher en POST ? c'est pas possible si? |
Une solution barbare serait de générer avec ta servlet une page fantome avec un formulaire (avec method="post" ) et des des champs cachés avec tes données, et puis pourquoi pas un message "en cours de chargement", at surtout avec javascript qui te submite ton formulaire vers ta nouvelle page JSP.
Mais c vraiment barbare
Marsh Posté le 08-08-2002 à 17:16:07
ha oui ca c'est barbare surtout quand on se fait chier à faire du MVC bien propre bien beau
Marsh Posté le 08-08-2002 à 17:20:50
_guigui_ a écrit a écrit : en fait je me pose la meme question que dephi, comment passer d'une servlet à une autre (ou à une jsp) avec le RequestDispatcher en POST ? c'est pas possible si? |
ben si, c'est exactement la meme chose
Marsh Posté le 08-08-2002 à 17:26:12
--greg-- a écrit a écrit : ben si, c'est exactement la meme chose |
que quoi? qu'en GET?
ben en GET tu mets les paramètres aprés le ? dans le requestdispatcher mais en POST tu fais comment?
Marsh Posté le 08-08-2002 à 17:29:03
_guigui_ a écrit a écrit : que quoi? qu'en GET? ben en GET tu mets les paramètres aprés le ? dans le requestdispatcher mais en POST tu fais comment? |
OH MY GOD.
les methodes forward ou include du requestdispatcher, tu leur passe quoi en arguments
Marsh Posté le 08-08-2002 à 17:41:21
--greg-- a écrit a écrit : OH MY GOD. les methodes forward ou include du requestdispatcher, tu leur passe quoi en arguments |
tu réponds à mes question par des questions on va pas avancer comme ca...
ben y'a pas 50 solutions hein...
dispatch.forward(request,response);
Marsh Posté le 08-08-2002 à 17:42:09
_guigui_ a écrit a écrit : tu réponds à mes question par des questions on va pas avancer comme ca... ben y'a pas 50 solutions hein... dispatch.forward(request,response); |
vivi
et request, c'est quoi à ton avis...
Marsh Posté le 08-08-2002 à 17:46:24
...
je recommence: si tu veux rajouter un nouveau paramètre à la request, et que tu veux balancer la réponse en POST, comment fait-on?
Marsh Posté le 08-08-2002 à 17:49:27
request.set....
forward(request,response);
Marsh Posté le 08-08-2002 à 17:57:59
DarkLord a écrit a écrit : request.set.... forward(request,response); |
ok request.setAttribute
cool
donc pour etre complet, quand tu fais le requestdispatcher, su tu mets pas de ? aprés le nom de la servlet ou jsp à appeler, il fait obligatoirement en POST?
Marsh Posté le 08-08-2002 à 18:01:10
_guigui_ a écrit a écrit : ok request.setAttribute cool donc pour etre complet, quand tu fais le requestdispatcher, su tu mets pas de ? aprés le nom de la servlet ou jsp à appeler, il fait obligatoirement en POST? |
non , meme methode que celle utilisée qui a été utilisée dans l'objet request...
Marsh Posté le 08-08-2002 à 18:05:06
--greg-- a écrit a écrit : non , meme methode que celle utilisée qui a été utilisée dans l'objet request... |
ok
donc si t'as fait un GET dans la request y'a pas moyen de faire un POST pour la réponse...
merci
Marsh Posté le 08-08-2002 à 18:07:12
_guigui_ a écrit a écrit : ok donc si t'as fait un GET dans la request y'a pas moyen de faire un POST pour la réponse... merci |
y'a ptet moyen de faker mais c'est pas une bonne idée.
quel interet
Marsh Posté le 08-08-2002 à 18:09:25
fais tout en post et t'es tranquille
Marsh Posté le 08-08-2002 à 18:11:08
DarkLord a écrit a écrit : fais tout en post et t'es tranquille |
tsssss
chaque méthode a une raison d'etre et doit etre utilisée dans le bon cas
Marsh Posté le 08-08-2002 à 18:11:30
Marsh Posté le 08-08-2002 à 18:17:44
--greg-- a écrit a écrit : y'a ptet moyen de faker mais c'est pas une bonne idée. quel interet |
bah j'en sais rien moi , c'est dephi qui demande comment passer en POST de sa 1ère à sa 2ème servlet, s'il y arrive pas c'est peut etre parcequ'il a appelé sa 1ère en GET nan?
Marsh Posté le 08-08-2002 à 18:22:49
_guigui_ a écrit a écrit : bah j'en sais rien moi , c'est dephi qui demande comment passer en POST de sa 1ère à sa 2ème servlet, s'il y arrive pas c'est peut etre parcequ'il a appelé sa 1ère en GET nan? |
jcrois pas puisqu'il me semble qu'il a dit qu'il uploadait un fichier à la 1e servlet.
bref. tu peux tjs appeler la methode doGet dans la methode doPost et vice-versa.
Marsh Posté le 08-08-2002 à 15:43:15
Rahh, je reviens pour vous demander à nouveau de l'aide...
J'ai besoin d'effectuer un chainage de servlet :
- la première s'occupe de l'upload du fichier (1)
- la seconde fait X choses (2)
Ca marche au poil (en "get" ), pas de souci, mais pour les besoins d'un bleu-bite de mon équipe, j'aurai besoin de passer de (1) à (2) en méthode "post"...
J'ai cherché à gauche et à droite et j'ai l'impression que ce n'est possible qu'en "get"..
J'ai raison ????
Message édité par Dephi le 08-08-2002 à 15:44:39
---------------