Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2061 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Chainage de Servlets....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Chainage de Servlets....

n°192121
Dephi
Posté le 08-08-2002 à 15:43:15  profilanswer
 

:hello:  
 
Rahh, je reviens pour vous demander à nouveau de l'aide...  :jap:  
 
 
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 ????
 :hello:


Message édité par Dephi le 08-08-2002 à 15:44:39

---------------

mood
Publicité
Posté le 08-08-2002 à 15:43:15  profilanswer
 

n°192127
mahu le ma​lin
Posté le 08-08-2002 à 15:49:20  profilanswer
 

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 !!! [:youyou2224]


---------------
JeuxVideo.Records.Mame
n°192139
--greg--
Posté le 08-08-2002 à 16:06:43  profilanswer
 

getRequestDispatcher("lurlverstaservletB" ).forward(request, response);

n°192179
Dephi
Posté le 08-08-2002 à 16:38:02  profilanswer
 

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

getRequestDispatcher("lurlverstaservletB" ).forward(request, response);




 
Bonne réponse greg !!!   [:t3xla]  
 
 
Enfin non...
Mais C de ma faute, j'ai pas tout dit.... :pt1cable:  
 
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 :
  1. private void process(HttpServletRequest request, HttpServletResponse response)
  2.             throws IOException, FttException {
  3.         MultipartParser mParser = new MultipartParser(request, 5*1024*1024); // 5 Mo maxsize


 
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..  :D )
Merci en tout cas !!!  :jap:


---------------

n°192184
--greg--
Posté le 08-08-2002 à 16:39:30  profilanswer
 

euh ché pas, mais à priori c possible mais bon j'en sais jconnais pas tres trucs:)
t'as essayé?
ça donne quoi....?

n°192187
Dephi
Posté le 08-08-2002 à 16:42:24  profilanswer
 

--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  :D )


---------------

n°192196
--greg--
Posté le 08-08-2002 à 16:45:51  profilanswer
 

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  :D )




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...?

n°192198
_guigui_
Posté le 08-08-2002 à 16:46:42  profilanswer
 

passe tes paramètres d'une servlet à l'autre en les mettant dans la session:
 

Code :
  1. HttpSession session = request.getSession();// put the object in the session
  2. session.setAttribute("object", object);
  3. javax.servlet.RequestDispatcher dispatch = request.getRequestDispatcher("ListAll.jsp" );//forward
  4. dispatch.forward(request,response);


et aprés dans la 2ème servlet tu récupères comme ca:
 

Code :
  1. Object object = (Object)session.getAttribute("object" );
  2. session.invalidate();// attributes received, invalidate the session


 
voilà c'est ca que tu veux nan?


Message édité par _guigui_ le 08-08-2002 à 16:49:15
n°192201
--greg--
Posté le 08-08-2002 à 16:47:44  profilanswer
 

:heink: non c pas ça qu'il veut :D

n°192204
_guigui_
Posté le 08-08-2002 à 16:50:13  profilanswer
 

bah comme en post ca marche pas, et que get ca pue, il a pas trop le choix je crois...

mood
Publicité
Posté le 08-08-2002 à 16:50:13  profilanswer
 

n°192206
--greg--
Posté le 08-08-2002 à 16:51:19  profilanswer
 

_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...



:ouch:  :??:  
 
 
et en post ça marche

n°192210
_guigui_
Posté le 08-08-2002 à 16:53:49  profilanswer
 

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?  :heink:

n°192211
Dephi
Posté le 08-08-2002 à 16:54:03  profilanswer
 

Non, C pas ca...
 
Encore une contrainte que j'ai oublié de préciser...  :D  
 
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 :
  1. MultipartParser mParser = new MultipartParser(request, 5*1024*1024); // 5 Mo maxsize
  2.         Part part = null;
  3.         ParamPart paramPart = null;
  4.         while ((part = mParser.readNextPart()) != null) {
  5.             // rechercher le paramètre de type file
  6.             if (part.isFile()) {
  7.    BlaBlaBla....
  8.             } else if (part.isParam()) {
  9.                 // l'ajouter à l'url de sortie
  10.                 paramPart = (ParamPart)part;
  11.                 if (paramPart.getName().equals("redirect" )) {
  12.                     urlRedirect = paramPart.getStringValue();
  13.                 } else {
  14.                     urlParams += paramPart.getName() + "=" + paramPart.getStringValue() + "&";
  15.                 }
  16.             }
  17.         }
  18.         response.sendRedirect(urlRedirect + "?" + urlParams);


 
 
donc je passe bien en get à (2)


---------------

n°192212
darklord
You're welcome
Posté le 08-08-2002 à 16:54:09  profilanswer
 

en théorie


---------------
Just because you feel good does not make you right
n°192218
--greg--
Posté le 08-08-2002 à 17:00:41  profilanswer
 

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 ..

n°192221
_guigui_
Posté le 08-08-2002 à 17:03:56  profilanswer
 

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? :??:  :??:


Message édité par _guigui_ le 08-08-2002 à 17:04:32
n°192226
archangel
Un homme Une vision
Posté le 08-08-2002 à 17:08:42  profilanswer
 

_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  :o


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
n°192236
_guigui_
Posté le 08-08-2002 à 17:16:07  profilanswer
 

ha oui ca c'est barbare surtout quand on se fait chier à faire du MVC bien propre bien beau :lol:

n°192247
--greg--
Posté le 08-08-2002 à 17:20:50  profilanswer
 

_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 :heink:

n°192252
_guigui_
Posté le 08-08-2002 à 17:26:12  profilanswer
 

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

ben si, c'est exactement la meme chose :heink:




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? :??:

n°192256
--greg--
Posté le 08-08-2002 à 17:29:03  profilanswer
 

_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  :fou:  
:D

n°192274
_guigui_
Posté le 08-08-2002 à 17:41:21  profilanswer
 

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

OH MY GOD.
les methodes forward ou include du requestdispatcher, tu leur passe quoi en arguments  :fou:  
:D




tu réponds à mes question par des questions on va pas avancer comme ca... :kaola:  
ben y'a pas 50 solutions hein...
dispatch.forward(request,response);

n°192275
--greg--
Posté le 08-08-2002 à 17:42:09  profilanswer
 

_guigui_ a écrit a écrit :

 
tu réponds à mes question par des questions on va pas avancer comme ca... :kaola:  
ben y'a pas 50 solutions hein...
dispatch.forward(request,response);



vivi
et request, c'est quoi à ton avis...

n°192282
_guigui_
Posté le 08-08-2002 à 17:46:24  profilanswer
 

... :heink:  
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? :??:

n°192287
darklord
You're welcome
Posté le 08-08-2002 à 17:49:27  profilanswer
 

request.set....
 
forward(request,response);
 


---------------
Just because you feel good does not make you right
n°192302
_guigui_
Posté le 08-08-2002 à 17:57:59  profilanswer
 

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?

n°192308
--greg--
Posté le 08-08-2002 à 18:01:10  profilanswer
 

_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...

n°192313
_guigui_
Posté le 08-08-2002 à 18:05:06  profilanswer
 

--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 :jap:

n°192315
--greg--
Posté le 08-08-2002 à 18:07:12  profilanswer
 

_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 :jap:  



y'a ptet moyen de faker mais c'est pas une bonne idée.
quel interet :??:


Message édité par --greg-- le 08-08-2002 à 18:07:19
n°192317
darklord
You're welcome
Posté le 08-08-2002 à 18:09:25  profilanswer
 

fais tout en post et t'es tranquille


---------------
Just because you feel good does not make you right
n°192320
--greg--
Posté le 08-08-2002 à 18:11:08  profilanswer
 

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

n°192322
darklord
You're welcome
Posté le 08-08-2002 à 18:11:30  profilanswer
 

:fuck:


---------------
Just because you feel good does not make you right
n°192330
_guigui_
Posté le 08-08-2002 à 18:17:44  profilanswer
 

--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? :??:

n°192334
--greg--
Posté le 08-08-2002 à 18:22:49  profilanswer
 

_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.

n°192350
_guigui_
Posté le 08-08-2002 à 18:45:21  profilanswer
 

ok :jap:

n°192353
--greg--
Posté le 08-08-2002 à 18:47:41  profilanswer
 

_guigui_ a écrit a écrit :

ok :jap:  



;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Chainage de Servlets....

 

Sujets relatifs
[Java] Comment afficher un composant à deux endroits ?[java] Est il possible avec JBuilder perso de se connecter à MySQL ?
[Java] jsp:useBean[JAVA] impression gif via internet sans telechargement
[Java] Performance, remplacer des tokens[Java] Pbr récupération d'un InputStream a partir de lib COS....
[Java] installation de postgresql avec JDBC[Xerces ?] Parser du HTML en Java
[java] equivalent d'un tableau de structure mais en java.[Java] Configuration du classpath
Plus de sujets relatifs à : [Java] Chainage de Servlets....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR