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 :

Appel Calsse Dans JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut Appel Calsse Dans JSP
    Bonjour,

    j'ai une classe qui permet la connexion à une base de donnees "ConnectionDB.java" qui se trouve dans le dossier WebContent/Web-INF/classes/

    et j'ai ConnexionDB.jsp dans lequel je fais appel à cette 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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ page import="java.sql.*," %>
    <!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>SIGITT</title>
    </head>
    <body>  
    <!-- <%  --> 
    ConnectionDB com = new ConnectionDB();
    ResultSet NP=com.ConnectAndQuestion("select * from TAB"); 
    while(NP.next()){%>
    <%= NP.getString("NOM")%> <%=NP.getString("PRENOM")%> <%=NP.getString("AGE") %>
    <%}
    %>
    </body>
    </html>

    Quand je lance l'appli sur le serveur TomCat, j'ai l'erreur suivante :

    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
     
    exception
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP: 
     
    Une erreur s'est produite à la ligne: 11 dans le fichier jsp: /ConnexionBD.jsp
    ConnectionDB cannot be resolved to a type
    8: <title>SIGITT</title>
    9: </head>
    10: <body>  
    11: <%ConnectionDB cn = new ConnectionDB(); %>
    12: </body>
    13: </html>
    14:  
     
     
    Une erreur s'est produite à la ligne: 11 dans le fichier jsp: /ConnexionBD.jsp
    ConnectionDB cannot be resolved to a type
    8: <title>SIGITT</title>
    9: </head>
    10: <body>  
    11: <%ConnectionDB cn = new ConnectionDB(); %>
    12: </body>
    13: </html>
    14:  
     
     
    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:423)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:316)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Je ne vois pas du tout d'ou vient le souci,sachant que c'est mon premier prog en JSP,

    Merci pour votre aide. ^_^

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 85
    Points
    85
    Par défaut
    Il faut ajouter l'import de la classe ConnectionDB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="nomDePackage.ConnectionDB" %>

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par delph1983 Voir le message
    Il faut ajouter l'import de la classe ConnectionDB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="nomDePackage.ConnectionDB" %>

    je viens de rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%@ page import="BDD.*" %>
    car quand je met :
    <%@ page import="BDD.ConnectionDB" %>
    Il le souligne en rouge.
    alors quand j'appelle la Classe dans le 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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ page import="java.sql.*" %>
    <%@ page import="BDD.*" %>
    <!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>SIGITT</title>
    </head>
    <body>  
    <%ConnectionDB cn = new ConnectionDB(); %>
    </body>
    </html>
    
    ConnectionDB est souligner en rouge

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    la c'est bon j'arrive bien à importer ma classe, c'etait juste une mal organisation des dossiers et packages.

    Neomoins j'ai un autre probleme,

    ma classe ConnectionDB a une focntion qui est sensé retourner le reslutat de la requte :

    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
    public ResultSet ConnectAndQuestion(String query) throws Exception
    	{
    		try{
                Class cDriverOracle=Class.forName("oracle.jdbc.driver.OracleDriver");
                Driver dDriverOracle=(java.sql.Driver)cDriverOracle.newInstance();
                DriverManager.registerDriver(dDriverOracle);
                conn=DriverManager.getConnection("jdbc:oracle:thin:@hpx16.ptx.fr.sopra:1559:ora13a2","TERA","TERA");
            }
            catch(Exception e){
                System.out.println("--Pbm en chargeant le driver JDBC oracle--");
                e.printStackTrace();
            }
    	
            try{
                statement=conn.createStatement();
                 ResultSet rs=statement.executeQuery(query);
                 rs.next();
                 System.out.println("Resultat requete: "+rs.getObject(1)); // ICI l'element s'affiche bien dans la console ... 
                 statement.close();
             }
             catch(Exception sqlE){
                 System.out.println("La Requête n'a pas abouti");
                 sqlE.printStackTrace();
             }
    		return resultSet; // Mais me retourne null ici
    	}
    Dans ma paje JSP,quand j'essaye d'afficher les resultats c'est null aussi ce qui normal...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <%
    ConnectionDB cn = new ConnectionDB(); 
    ResultSet NP = cn.ConnectAndQuestion("select * from T_RCUTLAPLLID"); %>
    <%=NP.getString("CODUTL")%>
    D'ou peux venir le probleme svp ^_^

  5. #5
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Je ne vois pas d'où sort ta variable resultset ... Dans le try c'est une variable locale rs que tu manipules ...

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    resultSet est declarée dans la Classe en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected ResultSet resultSet;
    Ceci Dit quand je retourne rs elle ne l'a reconnait pas, et meme quand je remplace rs par resultSet c'est toujours null et dans la console par contre le resutat s'affiche?

  7. #7
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Si tu remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try{
                statement=conn.createStatement();
                 ResultSet rs=statement.executeQuery(query);
                 rs.next();
                 System.out.println("Resultat requete: "+rs.getObject(1)); // ICI l'element s'affiche bien dans la console ... 
                 statement.close();
             }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try{
                statement=conn.createStatement();
                 resultSet=statement.executeQuery(query);
                 resultSet.next();
                 System.out.println("Resultat requete: "+resultSet.getObject(1)); // ICI l'element s'affiche bien dans la console ... 
                 statement.close();
             }
    tu obtiens quoi ??

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    J'obtiens le le premier element de la table.

    Mais dans ma page JSP c'est null et juste apres le catch je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            try{
                statement=conn.createStatement();
                 ResultSet resultSet=statement.executeQuery(query);
                 resultSet.next();
                 System.out.println("Resultat requete: "+resultSet.getString("CODUTL"));
                 statement.close();
             }
             catch(Exception sqlE){
                 System.out.println("La Requête n'a pas abouti");
                 sqlE.printStackTrace();
             }
             System.out.println("Resultat requete: "+resultSet.getString("CODUTL"));//NULL

  9. #9
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Oups je 'navais pas vu. Il ne faut pas que tu fermes le statement. Des qu'il est fermé, le ResultSet n'est plus utilisable ...
    Donc ferme le ResultSet et le Statement dans ta jsp !

    P.S. : normalement, un ResultSet ne devrait pas être passé à une jsp, mais bon ...

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    j'ai essayé mais toujours le meme probleme, j'ai voulu traiter la connexion et tout directement dans la page JSP mais on m'a dit que c'est pas conseillé car ça charge la page ....


    Je ne vois pas du tout d'ou pourrais venir le souci,


    je ne crois pas que j'appele mal la methode??

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par miss_marrakchia Voir le message
    j'ai essayé mais toujours le meme probleme, j'ai voulu traiter la connexion et tout directement dans la page JSP mais on m'a dit que c'est pas conseillé car ça charge la page ....


    Je ne vois pas du tout d'ou pourrais venir le souci,


    je ne crois pas que j'appele mal la methode??
    Là Ca marche Merci BCP pour ton aide, en fait j'avais laissé la declaration

    Protected ResultSet resultSet;

    et dans la fonction :

    ResultSet resultSet = .........

    j'ai enlevé la premiere et ca marche


    Merci infiniment ca m'avance enormement dans mon projet

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

Discussions similaires

  1. Problème appel servlet dans JSP
    Par Cedric G dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 24/09/2012, 10h36
  2. appeler javascript dans jsp
    Par halio99 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/07/2009, 17h37
  3. Réponses: 15
    Dernier message: 18/07/2008, 15h00
  4. Appel d'une jsp contenue dans un JAR
    Par shaun_the_sheep dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 22/09/2006, 09h37
  5. [Pl/Sql] Appel d'une jsp dans une procedure
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 7
    Dernier message: 21/04/2006, 08h13

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