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 :

un fichier jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 80
    Points : 51
    Points
    51
    Par défaut un fichier jsp
    Bonjour

    j'ai crée un fichier jsp tel que
    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
     
    <html>
    <head>
    </head><body>
    <% 
    import="java.sql.*";
    String url = "jdbc:mysql://localhost/BANK?user=root";
    Class.forName("org.gjt.mm.mysql.Driver");
    Connection con;
    con = DriverManager.getConnection(url);
    PreparedStatement stmt = con.prepareStatement("select nom, solde from BANK");
    ResultSet rs = stmt.executeQuery();
    %>
    </body>
    </html>
    je fais "ant" et j'obtiens un *.war que je déploie dans Jonas.
    je fais http://localhost:9000/A_CONFIGURER/ess.jsp
    et j'obtiens un message d'erreur que je ne comprend pas :
    HTTP Status 500 -

    --------------------------------------------------------------------------------

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: 4 in the jsp file: /ess.jsp
    Generated servlet error:
    Syntax error on token "import", invalid Expression


    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:324)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)


    root cause

    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: 4 in the jsp file: /ess.jsp
    Generated servlet error:
    Syntax error on token "import", invalid Expression


    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:324)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)


    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
    Pourriez vous m'aider à comprendre où est le probleme?

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    pour les imports il te faut utiliser cette syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ page import="java.sql.*" %>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 80
    Points : 51
    Points
    51
    Par défaut
    merci

    comment on fait pour aller à la ligne en jsp?
    j'ai mis out.println(" alert('7')");out.println(" alert('8')");
    mais il m'écris "7 8" et non :
    7
    8

    ensuite
    j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PreparedStatement stmt = con.prepareStatement("select * from bank");
    ResultSet rs = stmt.executeQuery();
     
    out.println("Recuperation du resultat");
    ResultSetMetaData rsmd = rs.getMetaData() ;
    		int nbcols = rsmd.getColumnCount() ;
            		 int iLg = 0 ;
      	 	while (rs.next()) {...     }
    ce code fonctionne.
    Juste après je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    stmt = con.prepareStatement("insert into bank(nom,solde) values ('toto',1000)");
    rs = stmt.executeUpdate();
    out.println("Recuperation du resultat");
    ResultSetMetaData rsmd = rs.getMetaData() ;
    		int nbcols = rsmd.getColumnCount() ;
            		 int iLg = 0 ;
      	 	while (rs.next()) {...     }
    et là ça ne marche pas.
    j'ai un message "Type mismatch: cannot convert from int to ResultSet"
    donc comment faire pour afficher toute ma table mise à jour?
    c'est le "rs" qui n'est pas apprécié

    Merci

  4. #4
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    executeUpdate() te retourne un entier et tu tente d ecrire cet entier dans dans un ResultSet. Tu peut mettre une variable ou un objet d un type dans un autre de type different.
    Il faut que tu fasse plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int nb_elements =stmt.executeUpdate();
    Pour l autre probleme de saut de lignes, ya deux solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    out.println("\n");
    ou alors utiliser du html ce qui un des avantages des jsp en intercalant un <br>

Discussions similaires

  1. Tomcat5.5.16: ou placer le fichier jsp?
    Par jspforum dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 31/08/2006, 13h38
  2. Tomcat 5.5.16: où dois-je placer mon fichier JSP?
    Par jspforum dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 30/08/2006, 14h16
  3. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46
  4. acces aux fichiers JSP sur WEB-INF
    Par fadex dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 02/05/2006, 13h54
  5. [JSP] Inclusion dans une condition d'un fichier jsp
    Par Fmassiera dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 07/02/2006, 20h14

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