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

  FORUM HardWare.fr
  Programmation
  Java

  transfert d'objets entre servlets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

transfert d'objets entre servlets

n°622842
DE-SK
Posté le 27-01-2004 à 14:59:43  profilanswer
 

J'ai a programmer plusieurs servlets s'enchainant et a passer des Objets de l'une a l'autre... jusque la, pas trop de problemes...
MAIS, comment passer un Objet (pour les strings et types simples, j'ai juste a mettre des inputs en "hidden" dans le code html) de la methode doPost de ma servlet 1 a la methode doPost de ma servlet 2 ??
 
voici mon code :
 
classe servlet1:
... doPost(... request, ... response) ... {
    Vector v = monvecteur;
    servlet2 s2 = new servlet2();
    request.setAttribute("vecteur",v);
    s2.doGet(request,response);
}
 
classe servlet2:
Vector w = new Vector();
... doGet(...request,...response)...{
   ...
   w=(Vector)request.getParameter("vecteur" );
   ...
   out.println("<form action=servlet2 method=POST>" );
   ...}
// jusque la tout marche ! mais apres ... =(
 
... doPost(...request,...response)...{
// la, j'ai besoin d'un element du vecteur w ... mais apparament le fait de lancer le doPost reinitialise mon vecteur !
    Objet a = (Objet)w.get(1);
    request.setAttribute("element",a);
    servelt3 s3 = new Servlet3();
    s3.doGet(request,response);
}
// j'obtient une erreur de type NullPointerException signifiant que mon vecteur w est VIDE ! ...
 
Comment faire SVP pour pouvoir recuperer les elements de "monvecteur" dans le doPost de Servlet2 ???
 
j'ai consulte les API et qqs tutorials mais sans succes ... alors, Merci d'avance.
 

mood
Publicité
Posté le 27-01-2004 à 14:59:43  profilanswer
 

n°622909
the real m​oins moins
Posté le 27-01-2004 à 15:44:14  profilanswer
 

une servlet ça ne s'instancie pas.  
RequestDispatcher -> forward()


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°623228
benou
Posté le 27-01-2004 à 23:06:17  profilanswer
 

Citation :

   servlet2 s2 = new servlet2();  
    request.setAttribute("vecteur",v);  
    s2.doGet(request,response);


[:totoz]
 
comme le dit --, c'est pas à toi d'instancier les servlets, c'est le moteur de servlet qui fait ca. Toi tu peux passer la main d'une servlet à une autre avec un RequestDispatcher.forward
 
 
Ensuite, la prog web c'est du déconnecter : à chaque traitement d'une requête HTTP, tu te trouves dans un nouveau "contexte" => ce que tu as fait lors d'une requête précédente (crér un vecteur, l'attaché à la requête) n'est pas récupérable puisque qu'il s'agit d'une autre requête.
 
Tu as néanmmoins quelques solutions pour t'en sortir : Tu peux utiliser une session pour stocker des attributs (comme tu le fais avec la request). La session te permet de stocker puis de récupérer des objets pour toute les requêtes d'un même utilisateurs.
 
Tu peux aussi stocker des objets nécessaires à toute ton application web dans le ServletContext.
 
Ensuite y a les bidouilles habituelles de la prog web du style champs caché et paramêtres d'url ...
 
Dans ton cas, c'est les sessions qu'il faut utiliser.


---------------
ma vie, mon oeuvre - HomePlayer
n°624614
DE-SK
Posté le 29-01-2004 à 10:36:39  profilanswer
 

Merci beaucoup pour les réponses ... elles m'ont permis de faire fonctionner enfin pas mal de trucs qui plantaient.


Message édité par DE-SK le 29-01-2004 à 10:37:15

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

  transfert d'objets entre servlets

 

Sujets relatifs
[VC++6] Quand initialiser les positions de mes objets?Stress sur un TreeSet ! objets non equals removés
Session et transfert de variables de page en page...[C++] Nom des variables et des objets (Notation Hongroise)
[FlashMX] Scroller des objets/textes/clipslibrairies et objets standards
Composants pour transfert de fichiers...[Java]Transfert d'action d'une frame à l'autre
[Java] Persistance des objets[ActionScript]Création dynamique d'objets
Plus de sujets relatifs à : transfert d'objets entre servlets


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