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 :

JDBC ClassNotFoundException Erreur


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Par défaut JDBC ClassNotFoundException Erreur
    Bonjour,

    Je souhaite utiliser une base de donnée mysql avec J2EE cependant je bloque sur un problème de chargement du pilote.

    En java, ca marche mais par contre lors de l'utilisation des pages JSP ca ne marche pas. Il y a une exception qui est lever du type ClassNotFoundException alors que le jar contenant la définition est bel et bien importer dans le projet (j'utilise eclipse).

    Voilà le code de connexion à la base de donnée.

    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
     
    package projet;
     
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.Iterator;
    public class BaseDonnee {
    	private static String dbname="j2ee", user="user", pass="user";
    	private Connection con = null;
     
    	public BaseDonnee() {
    		// chargement du pilote
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    		} catch (ClassNotFoundException e) {
    			System.out.println("Impossible de charger le pilote com.mysql");
    		}
    			//connection a la base de données	
    			System.out.println("connexion a la base de données");
    			try {         
    				con = DriverManager.getConnection("jdbc:mysql://localhost/"+dbname+"?user="+user+"&password="+pass+"");
    			} catch (SQLException e) {
    				System.out.println("SQLException: " + e.getMessage());
    				System.out.println("SQLState: " + e.getSQLState());
    				System.out.println("VendorError: " + e.getErrorCode());
    				System.out.println("Connection à la base de données impossible");
    			}
     
    			//insertion d'un enregistrement dans la table client 	
    			System.out.println("creation enregistrement");
    			Etudiant etu = new Etudiant();
    			etu.setNom("test");
    			etu.setPrenom("toto");
    			this.updateEtudiant(etu);			
     
    			System.out.println("fin du programme");
    			System.exit(0);
    	}
     
    	public Etudiant getEtudiant() {}
     
    	public ArrayList<Etudiant> listeEtudiant() {
    		String requete = "SELECT * FROM etudiant";
    		ResultSet result = null;
    		ArrayList<Etudiant> listeEtudiant=new ArrayList<Etudiant>();
    		try {
    			Statement stmt = con.createStatement();
    			result = stmt.executeQuery(requete);
    		} catch (SQLException e) {
    			System.out.println("Anomalie lors de l'execution de la requête");
    		}
     
    		try {
    			while (result.next()) {
    				listeEtudiant.add(new Etudiant(Integer.valueOf(result.getString(1)), result.getString(2), result.getString(3)));
    			}
     
    			result.close();
    		} catch (SQLException e) {
    			System.out.println(e.getMessage());
    		}
     
    		return listeEtudiant;
    	}
     
    	public void addEtudiant(Etudiant e) {}
     
    	public void removeEtudiant(Etudiant e) {}
     
    	public void updateEtudiant(Etudiant e) {}
    }
    Une page jsp qui utilise la base de donnée:

    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
     
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
     
    <%-- Directives de page import --%>
    <%@ page import="java.util.*"%>
    <%@ page import="projet.*"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Gestion des notes et des absences des étudiants</title>
    <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
    </head>
    <body>
    <jsp:include page="header.jsp"/>
    <jsp:include page="menu.jsp"/>
    <form action="/Projet_TC4/do/projet/editEtudiantNotes" method="get">
    <fieldset>
    <legend>Edition des absences d'un étudiant</legend>
    <label>Sélectionner un étudiant: </label>
    <select name="etudiant">
    <% 
            BaseDonnee bd=new BaseDonnee();
            Iterator<Etudiant> it = bd.listeEtudiant().iterator();
            while(it.hasNext()) {
                    Etudiant etu = (Etudiant)it.next();
    %>
    	<option value="<%= etu.getId() %>"><%= etu.getNom() %> <%= etu.getPrenom() %></option>
    <%
            }
    %>
    </select>
    <input type="submit" name="valid" value="Editer" />
    </fieldset>
    </form>
    <jsp:include page="footer.jsp"/>
    </body>
    </html>
    Il y a t-il quelque chose de particulier à faire avec J2EE?

    Merci d'avance de vos réponses.

  2. #2
    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
    Citation Envoyé par webinfo Voir le message
    Il y a une exception qui est lever du type ClassNotFoundException alors que le jar contenant la définition est bel et bien importer dans le projet (j'utilise eclipse).
    Peux-tu préciser comment ?
    As-tu copié le jar sous WEB-INF/lib ou l'as-tu référencé dans les J2EE Module Dependencies ?

    Si tu as bien fait l'une de ces deux manips, assure-toi que tu n'as pas plusieurs versions de ce jar dans le classpath du projet ou qu'il n'y a pas déjà une version de ce jar dans le répertoire des jars communs du serveur d'application.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 35
    Par défaut
    Merci pour ta réponse. Effectivement c'était du fait que dans J2EE Module Dependencies, mysql_connector n'était pas cocher.

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

Discussions similaires

  1. Erreur org.sqlite.JDBC ClassNotFoundException
    Par pjd06 dans le forum JDBC
    Réponses: 5
    Dernier message: 12/01/2015, 11h24
  2. ClassNotFoundException : erreur de classpath
    Par Nexussmb dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 25/11/2008, 10h36
  3. Réponses: 3
    Dernier message: 02/09/2008, 08h36
  4. Applet JDBC connect erreur
    Par mickael.guilbert dans le forum Applets
    Réponses: 3
    Dernier message: 14/06/2006, 15h55
  5. [JDBC] [Oracle] Erreur : End of TNS data channel
    Par loicmillion dans le forum JDBC
    Réponses: 2
    Dernier message: 01/02/2005, 14h27

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