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

  FORUM HardWare.fr
  Programmation
  Java

  [Java - Servlet] Methode Init() non executee

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java - Servlet] Methode Init() non executee

n°825978
nartu elxe
Gul Dukat Fanatic !
Posté le 18-08-2004 à 17:22:45  profilanswer
 

Dans ma servlet, j'utilise les methodes init() et doGet(). Cependant, les parametres initialises dans init() sont consideres comme "null" dans doGet().
 
y a moyen de forcer l'execution de init() ?
 
Version tomcat : 4.1.30
 
Code Servlet :
 

Code :
  1. import java.io.IOException;
  2. import java.io.PrintWriter;
  3. import java.sql.*;
  4. import java.util.*;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.Cookie;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.servlet.*;
  11. public class mytest extends HttpServlet
  12. {
  13. String tmp;
  14. public void init( ServletConfig config ) throws ServletException
  15.     {
  16.  super.init(config);
  17.  tmp = "blabla";
  18.                 ...
  19.     }  // end of init method
  20. public void doGet(HttpServletRequest request, HttpServletResponse response)
  21.  throws ServletException, IOException
  22. {
  23.  ...
  24.  writer.println(tmp); //tmp=null
  25.  tmp="blabla";
  26.  writer.println(tmp); //tmp=blabla
  27.  ...
  28. }
  29. }


Message édité par nartu elxe le 18-08-2004 à 17:24:54
mood
Publicité
Posté le 18-08-2004 à 17:22:45  profilanswer
 

n°826024
patachou
Posté le 18-08-2004 à 18:53:19  profilanswer
 

Ben moi j'en ai aucune idée mais ton super.init () me trouble un peu... J'aurai mis this (config)... Ca changera peut etre rien mais tu peux toujours essayer.

n°826124
nraynaud
lol
Posté le 18-08-2004 à 21:46:29  profilanswer
 

nartu > tu es sur que ça lève pas d'exception dans le init ? que tu mets pas le truc à null toi-mêmem ailleur dans le code ?
 
patachou > do you smoke the grass ?


---------------
trainoo.com, c'est fini
n°826246
benou
Posté le 18-08-2004 à 23:24:57  profilanswer
 

habituellement, on surcharge init()  et pas init(ServletConfig), ca évite d'avoir à se faire chier à appeler le super.init(ServletConfig), et t'as directement accès au servletConfig (HttpServlet implémente ServletConfig).
 
Mai sbon, ca explique pas ton problème. T'es spur que tu passes pas dedans ? t'as essayé de faire un System.out.println("dans le init" ) pour vérifier que tu ne passait effectivement pas dedans ?

n°826405
the real m​oins moins
Posté le 19-08-2004 à 01:07:08  profilanswer
 

plus qu'habituellement c'est comme ça qu'il est conseillé de faire, même :o
http://java.sun.com/j2ee/sdk_1.3/t [...] tml#init()


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°826462
benou
Posté le 19-08-2004 à 09:17:43  profilanswer
 

the real moins moins a écrit :

plus qu'habituellement c'est comme ça qu'il est conseillé de faire, même :o
http://java.sun.com/j2ee/sdk_1.3/t [...] tml#init()


je sais ... mais y a rien d'obligé ... d'autant que c'est apparu dans les servler 2.2 ou 2.3, ca existait pas au début.

n°826485
nartu elxe
Gul Dukat Fanatic !
Posté le 19-08-2004 à 09:48:35  profilanswer
 

j'ai fait un System.out.println(tmp) dans le init() mais rien ne s'affiche...
 
j'ai aussi utilise la methode log() pour afficher les messages d'erreurs eventuels, mais rien ne s'affiche non plus

n°826516
benou
Posté le 19-08-2004 à 10:13:19  profilanswer
 

Et tu est sûr que c'est bien cette servlet là qui est appelée quand tu fais ta touche Http ? parce que ce que tu nous dis là c'est pas possible ! Si t'as servlet n'est pas initialisée, elle ne peut pas être appelée. Et si elle est initialisé, tu passes forcément dans le init(ServletConfig).
 
Bref, ca sent l'erreur à la con !
 
T'as pas moyen d'utiliser un débuggueur ?


---------------
ma vie, mon oeuvre - HomePlayer
n°826592
nartu elxe
Gul Dukat Fanatic !
Posté le 19-08-2004 à 11:13:47  profilanswer
 

j'ai qu'une servlet donc je peux pas me tromper, mais je dois effectivement passer par le init(), mais les valeurs initialisees dans le init() sont perdues dans le doGet()
 
doit y avoir un truc tout con pour regler ca

n°826734
benou
Posté le 19-08-2004 à 14:17:11  profilanswer
 

nartu elxe a écrit :

j'ai qu'une servlet donc je peux pas me tromper, mais je dois effectivement passer par le init(), mais les valeurs initialisees dans le init() sont perdues dans le doGet()
 
doit y avoir un truc tout con pour regler ca


 
si tu passes dans le init, tu devrais avoir un truc dans les logs nan ?
 
Sans plus de précision, on peut pas t'aider là dessus


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 19-08-2004 à 14:17:11  profilanswer
 

n°826917
nartu elxe
Gul Dukat Fanatic !
Posté le 19-08-2004 à 16:53:40  profilanswer
 

bon, ca marche mais je saurais pas dire pourquoi (j'suis parti du code helloworld en inserant ptit a ptit toutes mes lignes de code...)

n°832189
bragadocio
Posté le 25-08-2004 à 19:33:38  profilanswer
 

faut voir dans ton web.xml
load on startup
<servlet>
     <servlet-name>NameServlet</servlet-name>
     <servlet-class>package.NameServlet</servlet-class>
     <load-on-startup>N</load-on-startup>
     
   </servlet>
N=entier l'ordre , si ya plusieur servlets avec init()
sinon 1

n°832310
benou
Posté le 25-08-2004 à 21:52:55  profilanswer
 

rien à voir. load-on-startup permet juste de "précharger" une servlet. Dans tous les cas, une servlet est chargée (méthode init appelée) si une requête doit être executée par cette servlet.


---------------
ma vie, mon oeuvre - HomePlayer
n°832333
the real m​oins moins
Posté le 25-08-2004 à 22:06:27  profilanswer
 

ha non non, la methode init est appellée au startup avec ça. on faisait comme ça pour demarrer ou configurer du bordel avant d'avoir les ServletContextListener...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°832335
the real m​oins moins
Posté le 25-08-2004 à 22:06:57  profilanswer
 

euh ouais enfin bon, c'est pê pas ça que tu réfutais remarque.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°832342
benou
Posté le 25-08-2004 à 22:14:57  profilanswer
 

the real moins moins a écrit :

euh ouais enfin bon, c'est pê pas ça que tu réfutais remarque.


ben non, je disais juste que le fait qu'il y ait pas de load-on-startup ne pouvais pas expliqué que le init() ne soit pas appelé alors que la servlet se prend une requête


---------------
ma vie, mon oeuvre - HomePlayer
n°832392
the real m​oins moins
Posté le 25-08-2004 à 23:31:40  profilanswer
 

oui ben à mon avis son init etait appelé depuis le debut mais il avait des variables locales à sa methodes et non à la classe ou une connerie comme ça :sleep:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

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

  [Java - Servlet] Methode Init() non executee

 

Sujets relatifs
JAVA ..sur PDA[NooB] J'arrive pas a recompiler un applet Java !
[JAVA] JNI et JDK 1.4: Appel de méthodes Java depuis une fonction C[JAVA] Recupérer le hostname d'un poste
[java] Question de gros noob sur l'allocation mémoire.la methode split
méthode de creation de logiciel embarquéAppeler la méthode d'une classe par un String
Formulaire HTML et application JavaAndroMDA generation JAVA
Plus de sujets relatifs à : [Java - Servlet] Methode Init() non executee


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