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 :

utilisation des beans


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut utilisation des beans
    Bonjour à tous, je débute en jsp pour mon boulot, et je galère bien avec les bean, j'ai le bouquin Initiation à JSP de Anne Tasso et Sébastien Ermacore, et quand j'essaye leurs exemples je n'ai pas de bons résultats.
    Je voudrais juste pour piger le principe faire un petit bean :
    import java.io.Serializable;

    public class MonBean implements java.io.Serializable
    {
    private float coutRoue;

    public float getCoutRoue()
    {
    return coutRoue;
    }

    }
    on fait difficilement plus simple

    et mon jps qui l'appelle
    <jsp:useBean id="jibe" class="MonBean" />
    <html>
    <body>
    <jsp:getProperty name="jibe" property="getCoutRoue" />
    </body>
    </html>
    mon bean a été compilé avec un javac dans webapps\mesTests\WEB-INF\classes (comme indiqué dans le bouquin)

    mon jsp se trouve dans webapps\mesTests

    et j'ai cette erreur :
    Etat HTTP 500 -

    type Rapport d'exception

    message

    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.

    exception

    org.apache.jasper.JasperException: =Impossible de trouver de l'information sur la propri�t� 'getCoutRoue' dans le bean de type 'MonBean'
    org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLibrary.java:839)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1048)
    org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:1106)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3365)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    note La trace compl�te de la cause m�re de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.18.
    si j'enlève
    <jsp:getProperty name="jibe" property="getCoutRoue" />
    du jsp là j'ai cette erreur
    Etat HTTP 500 -

    type Rapport d'exception

    message

    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.

    exception

    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP:

    Une erreur s'est produite � la ligne: 1 dans le fichier jsp: /testBean.jsp
    MonBean cannot be resolved to a type
    1: <jsp:useBean id="jibe" class="MonBean" />
    2: <html>
    3: <body>
    4:


    Une erreur s'est produite � la ligne: 1 dans le fichier jsp: /testBean.jsp
    MonBean cannot be resolved to a type
    1: <jsp:useBean id="jibe" class="MonBean" />
    2: <html>
    3: <body>
    4:


    Une erreur s'est produite � la ligne: 1 dans le fichier jsp: /testBean.jsp
    MonBean cannot be resolved to a type
    1: <jsp:useBean id="jibe" class="MonBean" />
    2: <html>
    3: <body>
    4:
    visiblement il y a un soucis avec le fait que ma classe MonBean ne soit pas reconnue, très certainement une histoire de déploiement.
    Si quelqu'un a une idée pour m'aider ça me dépannerait vraiment parce que là vraiment c'est certainement un truc très con mais je ne trouve vraiment pas.
    Merci d'avance.

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Déjà manque le constructeur la classe MonBean ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        public MonBean() {
         }
    Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:useBean id="jibe" class="PackageDuBEan.MonBean" />

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Je pense que pour un Bean tu ne dois pas déclarer de constructeur sans paramètre, car c'est ton conteneur qui le fait, il risque avoir conflit d'ailleurs, si tu en déclares un, il faudrait qu'il comporte un paramètre, dans ce cas la surcharge est appliquée. et également si son bean est directement à la racine du répertoire "classes" il a donc pas besoin de le préfixer non plus. As tu mis ceci dans l'entête de ta page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ page language="java" contentType="text/html; charset=iso-8859-1"
        pageEncoding="ISO-8859-1" ...
    Essaie un peu et reteste, normalement tel que tu as fait ton code ça devrait marcher.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut
    Okey déjà merci d'essayer de m'aider, j'ai ajouté un constructeur vide au bean comme tu le conseilles, j'ai déplacé le .java dans un répertoire Exemples, ensuite je l'ai recompilé, puis j'ai mis
    <jsp:useBean id="jibe" class="Exemples.MonBean" />
    maintenant j'ai cette erreur
    type Rapport d'exception

    message

    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.

    exception

    org.apache.jasper.JasperException: org.apache.jasper.JasperException: Impossible de charger la classe pour la JSP
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    cause m�re

    org.apache.jasper.JasperException: Impossible de charger la classe pour la JSP
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:620)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    cause m�re

    java.lang.ClassNotFoundException: org.apache.jsp.testBean_jsp
    java.net.URLClassLoader$1.run(Unknown Source)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(Unknown Source)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
    org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    note La trace compl�te de la cause m�re de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.18.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut
    DevServlet :
    merci aussi de m'aider.
    Alors là j'ai viré le constructeur qui n'y était pas à la base et que je venais de rajouter, j'ai recompilé un MonBean.java dans WEB-INF, ajouté
    <%@ page language="java" contentType="text/html; charset=iso-8859-1" pageEncoding="ISO-8859-1"%>
    et maintenant j'ai :
    type Rapport d'exception

    message

    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.

    exception

    org.apache.jasper.JasperException: =Impossible de trouver de l'information sur la propri�t� 'getCoutRoue' dans le bean de type 'MonBean'
    org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLibrary.java:839)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1048)
    org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:1106)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3365)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    note La trace compl�te de la cause m�re de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.18.

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut + WEBINF
    Alors moi je dirais mais maintenant faut savoir dans quel sens tu veux aller mais d'après la trace (en supposant les modif que j'avais dit) c le web.xml qui n'est pas bien défini cause:
    java.net.URLClassLoader.findClass(Unknown Source)
    celà dit, je ne connais pas suffisament les développement en console avec le javac alors je passe la main

    Je donne juste mon avis.

    Une dernière chose les jsp sont normalement dans le répertoire WEBINF/

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 16
    Par défaut
    j'y ai songé au xml, mais je n'ai pas trop d'idée de quoi mettre dedans, Par ailleurs quand je copie les exemples donnés sur le CD fourni avec le livre, tout marche niquel et sans fichier web.xml, enfin merci quand même.

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

Discussions similaires

  1. Utilisation des TagLib html et bean
    Par Punksociety dans le forum Struts 1
    Réponses: 4
    Dernier message: 06/01/2010, 15h46
  2. Utilisation des entity beans dans une JSP ?
    Par ellow dans le forum JPA
    Réponses: 3
    Dernier message: 17/12/2009, 12h27
  3. Utilisation des beans et servlet
    Par psychoP@T dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/11/2009, 16h27
  4. utilisation des beans dans une jsp (jsp:useBean)
    Par limalima dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/09/2009, 01h35
  5. Usage d'utilisation des beans
    Par piloupy dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/04/2007, 16h39

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