IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Appeler des variables de servlet


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Par défaut Appeler des variables de servlet
    Bonjour,
    sur le fichier web.xml j'ai déclarer une variable de servlet de la manière suivante
    <servlet>
    <servlet-name>firstServlet</servlet-name>
    <servlet-class>com.formation.cours1.MyFirstServlet</servlet-class>
    <init-param>
    <param-name>servletAuther</param-name>
    <param-value>igor</param-value>
    </init-param>
    </servlet>
    sur ma servlet, j'ai essayé de récupérer la variable de la manière suivante dans la méthode doGet:
    ServletContext context=getServletContext();
    String author =context.getInitParameter("servletAuther");
    Cela malheureusement me donne le crash suivant:
    GRAVE: "Servlet.service()" pour la servlet personalInfoServlet a généré une exception
    java.lang.NullPointerException
    at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160)
    at com.formation.cours1.PersonalInfoServlet.doGet(PersonalInfoServlet.java:26)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)
    A vous..

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu a surement surchargé le init() de la servlet sans faire appel au init du parent, hors c'est lui initialise le contexte....

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Par défaut
    mwéé tu avais raison, mais voilà que j'ai supprimé toute la méthode init():p
    maintenant, je n'ai plus le crash, mais j'ai une valeur retournée nulle?!!
    voila mon fichier web.xml

    [quote<servlet>
    <servlet-name>personalInfoServlet</servlet-name>
    <servlet-class>com.formation.cours1.PersonalInfoServlet</servlet-class>
    <init-param>
    <param-name>servletAuther</param-name>
    <param-value>igor</param-value>
    </init-param>
    </servlet>][/quote]

    et voilà l'appel depuis la servlet
    ServletContext context=getServletContext();
    String author =context.getInitParameter("servletAuther");

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Par défaut
    j'ai un creusé dans le fichier GenericServlet.class et j'ai trouvé ceci

    private transient ServletConfig config;
    public void init(ServletConfig config)
    throws ServletException
    {
    this.config = config;
    init();
    }

    public void init()
    throws ServletException
    {
    }
    apparament, il n'est instancié nul part ma variable config!

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Par défaut
    c'est résolu, il m'a fallu faire comme ca:
    ServletContext context = getServletContext();
    String contextAuther = context.getInitParameter("author");

    ServletConfig config = getServletConfig();
    String servletAuthor = config.getInitParameter("servletAuther");
    Pourtant je garde toujours ma questions sur le dernier post: ou est ce qu'il est l'instanciation?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    l'instanciation de quoi?

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2012, 13h19
  2. Appeler des variables de session depuis une vue
    Par keekLG dans le forum Langage
    Réponses: 3
    Dernier message: 14/02/2012, 13h49
  3. Appeler des variables à partir d'un formulaire et VBA
    Par LeBihan dans le forum Modélisation
    Réponses: 2
    Dernier message: 19/03/2008, 20h25
  4. [debutant] envoyer des variables de servlet en servlet
    Par Battosaiii dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/04/2006, 17h35
  5. [servlet][struts] Appelle des actions/servlet
    Par AnKhCHFR dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/03/2005, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo