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 :

Connexion a la BDD " HSQL "


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut Connexion a la BDD " HSQL "
    Bonjour,
    j'aimerai savoir pourquoi quand je lance la connexion à la BDD dans un programme java sa marche bien par contre avec JSP,il ne reconnais pas les instructions ?

    quand j'exécute ,aucune erreur mais beaucoup d'exceptions !!!!

    voici mon code :

    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
    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title> Titre </title>
    <link href="templatemo_style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
     
    <%@ page import="java.sql.Connection" %>
    <%@ page import="java.sql.DriverManager" %>
    <%@ page import="java.sql.ResultSet" %>
    <%@ page import="java.sql.Statement" %>
    <%@ page import="java.sql.*" %>
     
    <%
     
            Class.forName("org.hsqldb.jdbcDriver").newInstance();
            Connection connexion = DriverManager.getConnection("jdbc:hsqldb:file:Essaye", "sa", "");
            Statement st = connexion.createStatement();
            ResultSet resultat = st.executeQuery("SELECT * FROM Connexion WHERE prenom='azerty'");
     
            if(resultat.next())
                    System.out.println(resultat.getString("Nom"));
     
            st.executeQuery("SHUTDOWN");
            st.close();
            connexion.close();
    %>
     
    </body>
    </html>
    il ne reconnais pas l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName("org.hsqldb.jdbcDriver").newInstance();
    que dois je faire ?

  2. #2
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Si l'exception est de type ClassNotFoundException, c'est probablement que ton driver n'est pas dispo sur ton serveur web, il faudrait donc l'y inclure.
    Sinon, les stackTraces des exceptions en question seraient les bienvenues

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut
    Merci pour votre rapide réponse .
    parmi les exceptions il existe une de type ClassNotFoundException la voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.servlet.ServletException: java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
    Citation Envoyé par Jidefix Voir le message
    Si l'exception est de type ClassNotFoundException, c'est probablement que ton driver n'est pas dispo sur ton serveur web, il faudrait donc l'y inclure.
    j'utilise Tomcat4 avec axis , je ne vois pas ou ajouter le driver !
    j'ai ajouté hsql.jar seulement dans eclipse et dans le CLASSPATH, y a t-il un autre endroit ou je dois l'ajouter ?

    pour le reste des exceptions les voila:

    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
    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: An exception occurred processing JSP page /index.jsp at line 21
     
    18: 
    19: <%
    20: 
    21:     Class.forName("org.hsqldb.jdbcDriver").newInstance();
    22:     Connection connexion = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001//Essaye", "sa", "");
    23:     Statement st = connexion.createStatement();
    24:     ResultSet resultat = st.executeQuery("SELECT * FROM Connexion WHERE prenom='azerty'");
     
     
    Stacktrace:
            org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     
     
    cause mère 
     
    javax.servlet.ServletException: java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
            org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
            org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
            org.apache.jsp.index_jsp._jspService(index_jsp.java:98)
            org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     
     
    cause mère 
     
    java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
            org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
            org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
            org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)
            org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
            java.lang.Class.forName0(Native Method)
            java.lang.Class.forName(Unknown Source)
            org.apache.jsp.index_jsp._jspService(index_jsp.java:78)
            org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    Remarque :
    j'ai ajouté un import:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="org.hsqldb.jdbcDriver" %>
    l'exception est devenu :
    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
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP: 
     
    An error occurred at line: 6 in the generated java file
    Only a type can be imported. org.hsqldb.jdbcDriver resolves to a package
     
    Stacktrace:
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

  4. #4
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Non l'import ne sert pas puisque tu fais référence à la classe par son chemin complet (avec le nom du package). L'erreur provoquée par l'import est bizarre car il ne s'agit pas d'un package mais bien d'une classe... (mal nommée certes).

    Sinon il faut mettre le .jar de ton driver dans le dossier "lib" de tomcat pour pouvoir l'utiliser à l'exécution.
    C'est valable pour toutes les librairies externes, qui doivent faire partie soit des librairies de l'application même, soit des librairies globales. Personnellement je trouve que les drivers SQL ont plus leur place dans les librairies globale mais bon après c'est un choix.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut
    Merci Jidefix , exactement je devais ajouter les .jar dans le dossier Lib de Tomcat. sa marche

    merci encore.

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

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