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 :

[JSP] Problème de JavaBean


Sujet :

Servlets/JSP Java

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 33
    Points : 22
    Points
    22
    Par défaut [JSP] Problème de JavaBean
    Je suis en train de reproduire le code d'un bouquin et j'ai des bogues que je ne comprend pas.
    Voila mon bean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    package jspBook.ch3;
     
    public class SimpleBean implements java.io.Serializable {
     
     
        /* Membres privés */
        private String Nom;
        private String Prenom;
     
        public SimpleBean() {
          setNom(" "); 
          setPrenom(" ");
        }
     
        /* Méthodes d'accession */
     
        public String getNom(){
            return Nom;
        }
        public String getPrenom(){
            return Prenom;
        }
        public void setNom( String _Nom){
            Nom = _Nom;
        }
        public void setPrenom( String _Prenom){
            Prenom = _Prenom;
        }
     
        /* Message personnalisé */
        public String welcomeMsg() {
            return "Hello "+Nom+" "+Prenom+", bienvenue dans le monde merveilleux des EJB!";
        }
    }
    Voici ma page JSP( super simple):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <%@ page errorPage="myError.jsp?from=Hello.jsp" %>
     
    <html>
    <head>
       <title>Hello</title>
    </head>
     
    <body>
     
    <basefont face="Arial">
     
    <jsp:useBean id="SP" scope="session" class="jspBook.ch3.SimpleBean" />
     
    </body>
    </html>
    et voici mes messages d'erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
     
    org.apache.jasper.JasperException: Unable to compile class for JSP
     
    An error occurred at line: 11 in the jsp file: /ch3/Hello.jsp
     
    Generated servlet error:
        [javac] Compiling 1 source file
     
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\jspBook\ch3\Hello_jsp.java:49: cannot resolve symbol
    symbol  : class SimpleBean  
    location: package ch3
          jspBook.ch3.SimpleBean SP = null;
                     ^
     
     
     
    An error occurred at line: 11 in the jsp file: /ch3/Hello.jsp
     
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\jspBook\ch3\Hello_jsp.java:51: cannot resolve symbol
    symbol  : class SimpleBean  
    location: package ch3
            SP = (jspBook.ch3.SimpleBean) pageContext.getAttribute("SP", PageContext.SESSION_SCOPE);
                             ^
     
     
     
    An error occurred at line: 11 in the jsp file: /ch3/Hello.jsp
     
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\jspBook\ch3\Hello_jsp.java:54: cannot resolve symbol
    symbol  : class SimpleBean  
    location: package ch3
                SP = (jspBook.ch3.SimpleBean) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "jspBook.ch3.SimpleBean");
                                 ^
    3 errors
     
     
    	at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
    	at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
    	at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
    	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
    	at java.lang.Thread.run(Thread.java:479)
    Merci d'avance...

    _________________________
    Modéré par RanDomX
    - Ajout des tags dans le titre.
    Le zen nous ramene, par notre travail sur nous-memes,
    au monde ordinaire pour devenir tout simplement des gens ordinaires.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 45
    Points : 33
    Points
    33
    Par défaut
    Tu as bien deploye ton bean sous tomcat??

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Comment
    Soit plus explicite car j'ai suivi toutes les instructions du bouquin à la lettre.
    Et je trouve ça bizarre.

    Pourrait tu définir le verbe déployer dans la technologie JSP.

    J'ai placé mon Bean dans Web-Inf/classes/

    et ce que c'est ce qu'il faut faire?

    Merci d'être si prompt...
    Le zen nous ramene, par notre travail sur nous-memes,
    au monde ordinaire pour devenir tout simplement des gens ordinaires.

  4. #4
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    tu as fais tes imports ?

    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 442
    Points : 475
    Points
    475
    Par défaut
    Suggestion (surement fausse):
    Je croyais que le constructeur d'un JavaBean devait être vide... Or dans le code que tu nous montres ça n'est pas le cas...

  6. #6
    Inactif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Et bien...
    A RandomX tu parle de faire des import dans le fichier JSP ou dans le bean? Je pense que tu fais référence au fichier JSP car dans le bean je n'utilise que des String. Et je crois que le package java.lang est importé par defaut.

    Pour ce qui est de ti00t, je crois que le constructeur d'une classe sert à initialise les propriètés du Bean. Et c'est que je fais en appelant les fonctions setters setNom( String) et setPrenom( String) en leur passant une chaine vide comme argument.

    En réalité si on regarde bien les erreurs, on remarque qu'en fait que la class SimpleBean n'est pas trouvé( inconnu en qq sorte).

    Peut être est-ce dans la disposition de mes fichiers.

    J'ai donc crée un context nommé jspBook dans le repertoire Webapps de tomcat. Dans jspBook on retrouve les repertoires WEB-INF et ch3, le fichier bean (.class) est dans WEB-INF/classes et Hello.jsp est dans ch3.


    Si quelque chose vous choque faites moi signe....
    Le zen nous ramene, par notre travail sur nous-memes,
    au monde ordinaire pour devenir tout simplement des gens ordinaires.

  7. #7
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    oui ds la JSP, d'ou le lien avec ton erreur, si la classe n'est pas importé, elle n'est pas trouvée, et donc ca compile pas...

    C une suggestion..

    @+

  8. #8
    Inactif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Donc...
    Je devrais l'importer comme ça ou comme ça ou...:
    • import jspBook.SimpleBean;

    • import jspBook.*;

    • import jspBook;
    [/list]

    ?
    Le zen nous ramene, par notre travail sur nous-memes,
    au monde ordinaire pour devenir tout simplement des gens ordinaires.

  9. #9
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    import jspbook.ch3.SimpleBean ....

  10. #10
    Inactif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 33
    Points : 22
    Points
    22
    Par défaut te tracasse plus j'ai trouvé
    je repasserai pour expliquer.
    et en plus j'ai un autre problème.

    Merci de t'etre intéressé à bientot.
    Le zen nous ramene, par notre travail sur nous-memes,
    au monde ordinaire pour devenir tout simplement des gens ordinaires.

  11. #11
    Inactif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Voila en fait...
    The class file has to be in a directory corresponding to it's package under the WEB-INF/classes. In this case it would be WEB-INF/classes/jspBook/ch3/SimpleBean.class
    Voila la reponse à ma question, je sais c'est de l'anglais mais c le bouquin et ça me saoule de traduire, si t vraiment nul en anglais dit le moi.


    Mais j'ai un nouveau problème, en effet maintenant mon Bean fonctionne, je peux l'instantié, et faire appel à ces méthodes.
    Par contre je ne peux pas initialisé ses propriètés, ni les récupérer à l'aide des tags:
    • <jsp:setProperty name='SimpleBean' property="Nom" value="Hong">
    • <jsp:getProperty name='SimpleBean' property="Nom" >


    J'ai cette erreur...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Une erreur est apparue à la page Hello.jsp L'exception est :
    org.apache.jasper.JasperException: Cannot find any information on property 'Nom' in a bean of type 'jspBook.ch3.SimpleBean'
    Alors que les variables Nom et Prenom font bien parti du Bean.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    package jspBook.ch3; 
     
    public class SimpleBean implements java.io.Serializable { 
     
     
        /* Membres privés */ 
        private String Nom; 
        private String Prenom; 
     
        public SimpleBean() { 
          setNom(" "); 
          setPrenom(" "); 
        } 
     
        /* Méthodes d'accession */ 
     
        public String getNom(){ 
            return Nom; 
        } 
        public String getPrenom(){ 
            return Prenom; 
        } 
        public void setNom( String _Nom){ 
            Nom = _Nom; 
        } 
        public void setPrenom( String _Prenom){ 
            Prenom = _Prenom; 
        } 
     
        /* Message personnalisé */ 
        public String welcomeMsg() { 
            return "Hello "+Nom+" "+Prenom+", bienvenue dans le monde merveilleux des EJB!"; 
        } 
    }
    Lorsque j'utilise la Méthode welcomeMsg() ça marche...
    Tout ça m'enerve...
    Le zen nous ramene, par notre travail sur nous-memes,
    au monde ordinaire pour devenir tout simplement des gens ordinaires.

  12. #12
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut Re: Et bien...
    Citation Envoyé par dave_lopez

    J'ai donc crée un context nommé jspBook dans le repertoire Webapps de tomcat. Dans jspBook on retrouve les repertoires WEB-INF et ch3, le fichier bean (.class) est dans WEB-INF/classes et Hello.jsp est dans ch3.

    Si quelque chose vous choque faites moi signe.... [/b]
    oh tu as le même problème que moi !! ( http://www.developpez.net/forums/viewtopic.php?t=163048 ) par contre mon fichier .jsp ce trouve dans le répertoire de la webapp c'est à dire dans le répertoire "jspBook" pour toi. tu es sur qu'il faut le mettre dans "jspBook/ch3" ?
    que ce que tu as dans ton web.xml ? parce que le mien est presque vide

    je précise que je débute en tomcat, jsp,servlet, java ...

  13. #13
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    Vous confondez JSP, classes JAVA (JavaBean) et meme JavaBean et EJB (ref au commentaire vus ds une classe postée).

    Les jsp doivent se trouver soit ds un repertoire particuliers (jsp ou pages par exemple) sous le repertoire principal de la web-app. En tout cas, index.jsp doit se trouver à la racine (histoire de pas galerer pour faire afficher la premiere page).

    Les classes (JAVABean, autres classes..) doivent se trouver dans le repertoire classes sous WEB-INF (lui meme dans le repertoire principal de la web-app).

    Les Librairies externes (utilitaires, thirds party... ) doivent se trouver ds le rep lib sous WEB-INF.

    Il faut faire attention aux packages qui imposent la création d'un sous répertoire du meme nom par niveau.

    Je vous invitent à lire le tutorial de SUN à ce propos.

    Bon courage
    @+

  14. #14
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par RanDomX
    Vous confondez JSP, classes JAVA (JavaBean) et meme JavaBean et EJB (ref au commentaire vus ds une classe postée).

    Les jsp doivent se trouver soit ds un repertoire particuliers (jsp ou pages par exemple) sous le repertoire principal de la web-app. En tout cas, index.jsp doit se trouver à la racine (histoire de pas galerer pour faire afficher la premiere page).

    Les classes (JAVABean, autres classes..) doivent se trouver dans le repertoire classes sous WEB-INF (lui meme dans le repertoire principal de la web-app).

    Les Librairies externes (utilitaires, thirds party... ) doivent se trouver ds le rep lib sous WEB-INF.

    Il faut faire attention aux packages qui imposent la création d'un sous répertoire du meme nom par niveau.
    je suis d'accord avec tout ce que tu as dit et pourtant je n'arrive pas à utilser ma classe dans mon JSP !!!! (mon problème est là : http://www.developpez.net/forums/viewtopic.php?t=163048 )


    Citation Envoyé par RanDomX
    Je vous invitent à lire le tutorial de SUN à ce propos.

    Bon courage
    @+
    oh un message d'espoir, je crois que j'ai pas encore lu ce tutoriel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [tomcat] [jsp] Problème avec driver OCI pour oracle
    Par nanardcompanie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 01/07/2004, 09h54
  3. [Struts][JSP]Problème de Action Path
    Par luzi dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/05/2004, 23h39
  4. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02
  5. [jsp]problème avec request.getParameter(...)!
    Par fadoua dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 01/09/2003, 13h26

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