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

JDBC Java Discussion :

probleme avec JDBC en jsp


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 21
    Points : 18
    Points
    18
    Par défaut probleme avec JDBC en jsp
    J'essaie d'établir une connexion à une base de donnée oracle dans une page jsp en utilisant eclipse, j'ai placé un fichier zip nommé classes12 directement sous mon projet web, en l'executant un rapport d'exception s'affiche :
    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
     
    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: oracle.jdbc.driver.OracleDriver
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    javax.servlet.ServletException: oracle.jdbc.driver.OracleDriver
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
    	org.apache.jsp.JDBC_jsp._jspService(JDBC_jsp.java:89)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
    	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
    	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    	java.lang.Class.forName0(Native Method)
    	java.lang.Class.forName(Class.java:164)
    	org.apache.jsp.JDBC_jsp._jspService(JDBC_jsp.java:59)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.26.
    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
     
    <%@ page language="java" import="java.sql.*" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%! 
    java.sql.Connection conn ;
    java.sql.Statement stmt;
    java.sql.ResultSet results;
    java.sql.ResultSetMetaData metaData;
    int numCols;
    %>
    <% Class.forName("oracle.jdbc.driver.OracleDriver");
    conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = numport)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = mz))))", "login","password");
    stmt=conn.createStatement();
    results=stmt.executeQuery("select * from WF_VIEW");
    metaData=results.getMetaData();
    numCols=metaData.getColumnCount();
    %>
    Connection is :<%= conn.toString() %><br>
    Statement is: <%= stmt.toString() %><br>
     <% results.next();%>
    	  <%= results.getString(0) %>
         <br>
     
     
    </body>
    </html>
    ps: g deja etabli une connexion a ma BD avec une simple programme java et ça a marché.
    merci bcp pour votr aide

  2. #2
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    je ne te conseil pas de mettre de code java de la DAO dans ta page JSP tu ferrai mieux de creer une classe pour realiser .

  3. #3
    Membre du Club Avatar de TheEwook
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Salut,

    Si tu regardes l'exception, elle signifie qu'elle ne trouve pas ton driver JDBC (Oracle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    Verifie que tu as bien mis le jar de ton driver JDBC oracle dans ton projet. Et qu'il est bien réferencé.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Il faut mettre le jar du driver JDBC dans /WEB-INF/lib.
    Pour le reste, il serait effectivement préférable de mettre le code permettant de récupérer une connexion à la base dans une classe java.
    Une autre chose, après l'utilisation d'une connexion, il faut la fermer, sinon, tu risque de ne plus en avoir de disponible très vite.
    Il faudrait faire quelque chose comme ceci :
    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
     
    <%
    Connection connection = null;
    PreparedStatement pstmt = null;
    try
    {
       connection = DatabaseUtils.getConnection();
       pstmt = connection.prepareStatement("select col1,col2 from maTable where id=?");
       pstmt.setInt(1, valeurId);
       ResultSet rs = pstmt.executeQuery();
       while ( rs.next() )
       {
          .... ce qu'il y a à faire...
       }
    }
    catch (Exception e)
    {
       ...
    }
    finally
    {
       if ( connection != null ) connection.close();
    }
     
    %>
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    voilà j'ai modifié mon code :ajouter les traitements try ,catch et exception.

    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
    <%@ page language="java" import="java.sql.*" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <%! 
    java.sql.Connection conn ;
    java.sql.Statement stmt;
    java.sql.ResultSet rs;
    int count =0 ;
     
    %>
    <% Class.forName("oracle.jdbc.driver.OracleDriver");
    try
    {
    conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.23.1.73)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = mz))))", "login","pwd");
    stmt=conn.createStatement();
    rs=stmt.executeQuery("select count(*) from matable");
     
    if( rs.next()){
    	 count =  rs.getInt(1);
    }
    }
    catch (Exception e)
    {
    	e.printStackTrace(); }
    finally
    {
       if ( conn != null ) conn.close();
       rs.close();
    	stmt.close();
     
    }
    %>
    Connection is :<%= conn.toString() %><br>
    Statement is: <%= stmt.toString() %><br>
    	  <%=count%>
         <br>
     
     
    </body>
    </html>
    voilà ce qui est affiché:
    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
     
     
    org.apache.jasper.JasperException: Exception in JSP: /JDBC.jsp:17
     
    14: int count =0 ;
    15: 
    16: %>
    17: <% Class.forName("oracle.jdbc.driver.OracleDriver");
    18: try
    19: {
    20: conn=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.23.1.73)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = mz))))", "mzadmin","mzadmin");
     
     
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    javax.servlet.ServletException: oracle.jdbc.driver.OracleDriver
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
    	org.apache.jsp.JDBC_jsp._jspService(JDBC_jsp.java:102)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125)
    	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
    	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    	java.lang.Class.forName0(Native Method)
    	java.lang.Class.forName(Class.java:164)
    	org.apache.jsp.JDBC_jsp._jspService(JDBC_jsp.java:59)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    j'ai toujours un problème.plz help

  6. #6
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    As tu bien ajouté ton jar (celui du connector oracle) dans tes lib ?

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    g telechargé ojdbc5 à partir du site de oracle,je l'ai mis sous lib.
    g toujours le meme message d'erreur.

  8. #8
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Peux tu essayé de télécharger ce jar :
    http://www.docjar.com/downloadjar.js...1997-09-16.jar
    Et met le dans ton rep de lib.

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    le problème persiste encore.
    je comprends pas qu'est ce qui ne va pas?????

  10. #10
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Ce qui ne va pas c que dans ta jsp, tu fais appelle a cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName("oracle.jdbc.driver.OracleDriver");
    et qu'elle n'est pas trouvé dans ton classpath. Tu as essayé le jar que je t'ai donné en lien ? En fait je suis certain que la classe qu'il demande est dans ce jar. Donc si ca ne marche pas, c'est que tu ajoute mal a ton classpath le jar, ou que ton tomcat est moisi ...
    Essai d ajouter l import sur ta jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import="oracle.jdbc.*;java.sql.*"

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Prblème réglé, effectivement mon jar était mal placé,
    merci pour votre aide

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

Discussions similaires

  1. Requêtes multiples avec JDBC et JSP
    Par julien_chable dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 10/03/2011, 13h49
  2. probleme avec une page jsp
    Par tareksc dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 17/05/2007, 10h06
  3. probleme avec javax.servlet.jsp.tagext.Tag
    Par faico dans le forum JSF
    Réponses: 2
    Dernier message: 30/03/2007, 11h38
  4. probleme avec jdbc dans un prog Java
    Par 18Marie dans le forum JDBC
    Réponses: 5
    Dernier message: 17/07/2006, 09h40
  5. [JSP] Probleme avec ResultSet
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/05/2004, 11h02

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