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 :

JSP Appel méthode JAVA


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut JSP Appel méthode JAVA
    Bonjour,

    Dans un fichier jsp, je souhaite me servir de méthodes appartenant à une classe JAVA (Gdb) que j'ai écrite.

    J'ai donc mis le fichier .java et .class sur le serveur Tomcat dans le même dossier que mon fichier JSP. J'ai une méthode connectionDB() dans Gdb.

    Je souhaite utiliser cette méthode dans mon fichier JSP. J'ai donc fait un import de Gdb.* (ça ne bug à priori pas)

    Ensuite, je fais Gdb.connectionDB(); mais cela ne fonctionne pas...

    Pouvez vous me dire comment je peux faire appel à la méthode de ma classe Gdb dans mon fichier JSP ?

    Merci

  2. #2
    Débutant
    Inscrit en
    Avril 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 360
    Points : 132
    Points
    132
    Par défaut
    tu peut faire appel a ses methodes avec
    les useBean pour plus d'information voir Michel baron ds developpez.com

  3. #3
    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
    un import de Gdb.*
    Euh, on importe pas une classe ....
    J'ai donc mis le fichier .java et .class sur le serveur Tomcat dans le même dossier que mon fichier JSP
    Le fichier .java ne sert à rien, donc ne déployer que le .class, et dans WEB-INF/classes et non avec ta jsp ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    J'ai regardé le tutoriel :
    ftp://ftp-developpez.com/mbaron/javaee/jsp.pdf

    Ma classe check2 est dans : WEB-INF\classes

    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
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    <%@ page language="java" import="java.util.*,java.util.regex.Pattern,java.util.regex.Matcher" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" %>
    <jsp:useBean id="ref" class="check2"></jsp:useBean>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
    <html>
    <head>
    <title>Vérification des données saisies</title>
    </head>
     
    <body>
    <%
     
    String nom = request.getParameter("nom");
    String prenom = request.getParameter("prenom");
    String dateadhesion = request.getParameter("dateadhesion");
    String secu = request.getParameter("secu");
    String mail = request.getParameter("mail");
    String telephone = request.getParameter("telephone");
    String adresse = request.getParameter("adresse");
    String codepostal = request.getParameter("codepostal");
    String ville = request.getParameter("ville");
    String statut = request.getParameter("statut");
    boolean Envoi = true; 
    String erreur[] = new String[10];
     
     
    dateadhesion=dateadhesion.replaceAll(" ", "");
    Pattern pdate = Pattern.compile("^([0-3][0-9][-/.](0[1-9]|1[0-2])[-/.][0-9]{4})$");
    Matcher mdate = pdate.matcher(dateadhesion);
    boolean bdate = mdate.matches();
    if (!bdate){ 
            Envoi=false;
            erreur[0]="Merci de rentrer la date sous le format JJ/MM/AAAA";
    }
     
    if (nom.trim().length() == 0 ) { 
            erreur[1]="Merci d'indiquer le nom."; 
            Envoi = false; 
    }
    if (prenom.trim().length() == 0) { 
            erreur[2]="Merci d'indiquer le prenom."; 
            Envoi = false; 
    }
     
    secu=secu.replaceAll(" ", "");
    Pattern psecu = Pattern.compile("[0-9]{15}");
    Matcher msecu = psecu.matcher(secu);
    boolean bsecu = msecu.matches();
    if (!bsecu){
            erreur[3]="Le numero de securite social doit comporter quinze chiffres.";
            Envoi=false;
    } 
    else{
    long nbsecu = Long.parseLong(secu);
    }
     
    mail=mail.replaceAll(" ", "");
    Pattern pmail = Pattern.compile("^[a-zA-Z]+[a-zA-Z0-9\\._-]*[a-zA-Z0-9]@[a-zA-Z]+"+"[a-zA-Z0-9\\._-]*[a-zA-Z0-9]+\\.[a-zA-Z]{2,4}$");
    Matcher mmail = pmail.matcher(mail);
    boolean bmail = mmail.matches();
    if (!bmail){ 
            Envoi=false;
            erreur[4]="L'adresse mail n'est pas valide.";
    }
     
    telephone=telephone.replaceAll("-", "");
    telephone=telephone.replaceAll(" ", "");
    Pattern ptel = Pattern.compile("[0-9]{10}");
    Matcher mtel = ptel.matcher(telephone);
    boolean btel = mtel.matches();
    if (!btel){
            Envoi=false;
            erreur[5]="Le numéro de téléphone doit être composé de dix chiffres";
    }
     
    if (adresse.trim().length() == 0) { 
            erreur[6]="Merci d'indiquer l'adresse."; 
            Envoi = false; 
    }
     
    codepostal=codepostal.replaceAll(" ", "");
    Pattern pcodepostal = Pattern.compile("[0-9]{5}");
    Matcher mcodepostal = pcodepostal.matcher(codepostal);
    boolean bcodepostal = mcodepostal.matches();
    if (!bcodepostal){
            Envoi=false;
            erreur[7]="Le code postal est erronné.";
    }
    else{
    long nbcodepostal = Long.parseLong(codepostal);
    }
     
    if (ville.trim().length() == 0) { 
            erreur[8]="Merci d'indiquer la ville."; 
            Envoi = false; 
    }       
     
    if (statut.trim().length() == 0) { 
            erreur[9]="Merci de choisir le statut du membre."; 
            Envoi = false; 
    }
     
    if (!Envoi) {
    for (int i=0;i<erreur.length;i++){
    if (erreur[i]!=null){
    %> 
    <table width="340" border="1">
    <tr><td><div align="center"><font face="Verdana"><small><%= erreur[i] %></small></font></div></td></tr>
    <% } } %> 
    </table>
    <FORM> <INPUT TYPE="button" VALUE="Retour" onClick="history.back()"> </FORM>
    <% } else { 
    ref.connexionDB();
    ref.addMembre(<%=nom%>, <%=prenom%>, <%=dateadhesion%>, <%=mail%>, <%=telephone%>, <%=adresse%>, <%=ville%>, <%=statut%>, <%=secu%>, <%=codepostal%>) ;  
     
     
     }  %>
    </body>
    </html>
    Je pense que le probleme vient de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:useBean id="ref" class="check2"></jsp:useBean>
    car les tests fonctionnent bien sur les entrées du formulaire.

    J'obtiens comme erreur :
    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: /verifMembre.jsp(3,0)
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1200)
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1155)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
    org.apache.jasper.compiler.Generator.generate(Generator.java:3394)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Merci pour votre aide.

  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
    Tu n'as pas de package ? Et ta classe check2 commence bien par une minuscule ? (c'est pas bien si c'est le cas, les conventions de nommage )

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Bonsoir,

    Merci pour ton aide ! Nous sommes débutants...

    Nous n'avons pas mis de majuscule au nom de la classe. Nous allons corriger le souci (mais je pense pas que ce soit la raison du bug). Notre package est ose2.

    Maxime

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Est ce que quelqu'un a une idée d'où pourrait venir notre problème ?

    Maxime

  8. #8
    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
    Et si tu mets class="ose2.check2" ou "ose2.Check2" si vous avez renommé avec une majuscule ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut JAVA/Phpmyadmin base de données
    Bonjour,

    Je souhaite utiliser une base de donnée faite sous PhpMyAdmin (en Mysql) dans mon fichier Java via la méthode : Class.forName

    J'ai entendu parler du drivers : org.gjt.mm.mysql.Driver et du fichier mysql-connector-java-3.1.12-bin.jar.

    Je ne sais pas trop comment installer ça et relier le tout.

    Merci pour votre aide

    Maxime

  10. #10
    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
    C'est assez différent de ton problème d'origine...
    Je te conseille d'ouvrir un nouveau post, si la FAQ jdbc ne répond pas à tes questions ...

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

Discussions similaires

  1. JNI -> Appeler méthode Java depuis C++ qui instancie un objet
    Par MilWolf dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 07/02/2015, 12h36
  2. Appeler méthode Java dans ui.xml
    Par matthoffman dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 20/01/2012, 14h18
  3. Appel méthode java depuis javascript
    Par Dragna_x dans le forum Wicket
    Réponses: 2
    Dernier message: 24/06/2011, 14h35
  4. [JNI] appel méthode Java (superclasse ?)
    Par gassi64 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 17/06/2009, 15h09
  5. Script shell qui appelle méthode Java ?
    Par babyboy dans le forum Linux
    Réponses: 3
    Dernier message: 17/08/2007, 01h45

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