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 :

class du bean introuvable


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut class du bean introuvable
    Bonjour à tous
    je suis nouveau sur ce site et sur le developpement dynamique des pages web.
    J'ai Apache tomcat comme serveur web, Oracle comme BD, eclipse pour coder du java.

    Mon but est de faire du developpement web avec jsp. Et donc actuellement j'apprends à includre des bean dans mes pages jsp.

    L'arborescence de mon espace de travail pour mess pages jsp est :
    C/Programme Files/Appache Tomcat Foundation/Tomcat 6.0/Webapps/ROOT

    Et celui contenant mes fichiers .class générées avec eclipse est :
    C/Programme Files/Appache Tomcat Foundation/Tomcat 6.0/Webapps/ROOT/WEB-INF

    Déjà je ne vois pas de répertoire classe dans le WEB-INF et c'est dans ce dernier que se trouve mon espace de travail avc eclipse.

    lors de l'execution de ma page jsp j'ai une erreur du genre:

    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: /usage_bean.jsp(6,0)
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    Pouvez vous m'aider svp ?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Pour commencer un conseil. Ne modifie surtout pas le contenu du répertoire ROOT. Il est réservé à l'administration de tomcat.

    Ensuite je te laisse faire un tour ici

    Si tu as toujours des problèmes poste nous les source.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut classe bean introuvable
    bjr
    je te remercie de t'interesser à mon problème Ikey. J'ai suivi ton tuto. Et j'ai buté sur deux points:

    - le premier c'est pour le plug in Tomcat sysdeo que j'ai dezipé dans le repertorie plugin d'éclipse mais y'a rien qui se passe après redémarrage d'eclipse. J'ai la version eclipse 3.3.2 pas moyen de configurer eclipse pour tomcat.



    - Voici mes codes sources:
    ---- code jsp -------
    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
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" errorPage="errorbean.jsp" %>
     
     
     
    <%-- usage du Bean --%>
    <jsp:useBean id="ma_voiture" class="pack1.Voiture" scope="application"></jsp:useBean>
    <%
            ma_voiture.setDemarree(true);
            ma_voiture.setVitesse(21.2);
    %>
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>usage du bean</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    La voiture a-t-elle démarré: <%= ma_voiture.getDemarree() %><br>
    La vitesse de la voiture est de : <%= ma_voiture.getVitesse() %> km/h<br>
    La puissance de la voiture est de : <%= ma_voiture.getPuissance() %> CV
    </body>
    </html>

    --- code de la classe ----
    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
    public class Voiture {
    private int puissance;
    private boolean est_demarree;
    private double vitesse;
     
     
    public void setDemarree(boolean p) {
    est_demarree = p;
    }
    public boolean getDemarree() {
    return est_demarree;
    }
    public void setVitesse(double p) {
    vitesse = p;
    }
    public double getVitesse() {
    return vitesse;
    }
    public int getPuissance() {
    return puissance;
    }
    }

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Utilise la balise ["code"] (le #) pour ton code ca rend ton post plus clair.

    Ensuite pour eclipse je ne peux pas te dire je ne l'utilise pas. Cet outil est excellent pour des applications lourdes mais des que tu passes à des webapps c'est la galère avec tous les plugin à installer. Enfin ca doit être possible, mais pour quelqu'un qui a du temps pour chercher, ce qui n'est pas mon cas.

    Mais revenons en au sujet.

    Visiblement tu ne connais pas les EL. Qu'à cela ne tienne, voici ce que je te propose:

    .jsp
    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
     
    <%@page contentType="text/html" pageEncoding="UTF-8"%>  
    <jsp:useBean id="maVoiture" class="pack1.Voiture" scope="session" />
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta http-equiv="content-language" content="fr" />
     
            <title lang="fr">JSP Page</title>
     
        </head>
        <body>
            La voiture a-t-elle démarré: <%= ma_voiture.isEstDemarree() %><br>
            La vitesse de la voiture est de : <%= ma_voiture.getVitesse() %> km/h<br>
            La puissance de la voiture est de : <%= ma_voiture.getPuissance() %> CV
        </body>
    </html>
    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
     
    public class Voiture
    {
        private int puissance;
        private boolean estDemarree;
        private double vitesse;
     
        public Voiture()
        {
            estDemarree = true;
            vitesse = 21.2;
        }
     
        public boolean isEstDemarree()
        {
            return estDemarree;
        }
     
        public int getPuissance()
        {
            return puissance;
        }
     
        public double getVitesse()
        {
            return vitesse;
        }
    }
    Maintenant explications
    - On utilise rarement, voire jamais un scope="application" pour un bean. Si tu veux une constante pour l'application tu la déclares dans ton fichier web.xml
    - Pour un booleen, on utilise isX() à la place de getX()

    Un bean a 3 caractériques :
    - Ses variables sont privées;
    - Son constructeur ne doit recevoir aucun argument;
    - Les variables doivent être atteintes par des accesseurs (set et get) qui sont constitués du nom de la variable commencant par une majuscule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    private String toto;
     
    public String getToto()
    {
    ...
    }
    On notera que ton getPuissance va renvoyer null puisqu'il n'est pas initialisé.

    Pour finir, fais attention aux conventions de nommage
    Une variable doit être un nom ou un verbe au participe passé commencant par une minuscule (les verbes étant réservés aux méthodes), s'il est composé les autres mots commencent par des majuscules (maison, couleurParChoc, etc.).
    Par exemple pour est_demarree, que j'ai transformé en estDemarree, devrait être nommé "demarree".
    Si tu veux vérifier que le nom de ta variable est correcte c'est simple tu le transformes en anglais et tu ajoutes un is ou get (estDemarree -> isStarted -> isIsStarted, on constate que ca ne va pas)

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Pour le problème du plugin, ferme Eclipse, ouvre l'Invite de commandes, positionne-toi sous le répertoire d'Eclipse et tape :

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/09/2009, 19h29
  2. Réponses: 3
    Dernier message: 04/03/2009, 22h09
  3. classe d'action introuvable.
    Par baos! dans le forum Struts 2
    Réponses: 1
    Dernier message: 10/03/2008, 17h37
  4. ActionForm Class & Form-Bean Mapping
    Par machipot dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/07/2007, 22h34
  5. Java class + Java Bean d'interface = petit problème
    Par Nyphel dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/01/2007, 14h52

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