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 :

Comment exécuter une class java dans JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Points : 59
    Points
    59
    Par défaut Comment exécuter une class java dans JSP
    Bonjour,

    Dans mon projet Web, crées un package que je nomme testPackage, puis crées dedans une classe test dont le corp est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class test {
    	public static void main(String[] args)
    	{
    		System.out.println( "Hellddo World !!"); 
    	}
     
    }
    Dans le JSP, j'importe cette classe, l'instancier et utiliser cette instance :
    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
     
        <%@page import="testPackage.test" %> 
    <!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>hello</title>
    </head>
    <body>
    <h2> 
    <%
            testPackage.test ct = new testPackage.test(); 
     out.println(ct.main());
     %> 
    </h2> 
    </body>
    </html>
    Mais malheureusement 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
     
    type Rapport d''exception
     
    message Unable to compile class for JSP:
     
    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
     
    exception
     
    org.apache.jasper.JasperException: Unable to compile class for JSP: 
     
    An error occurred at line: 16 in the jsp file: /index.jsp
    The method getHelloWorld() is undefined for the type test
    13: <h2> 
    14: <%
    15:     testPackage.test ct = new testPackage.test(); 
    16:  out.println(ct.getHelloWorld());
    17:  %> 
    18: </h2> 
    19: </body>
     
     
    Stacktrace:
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Bon, déjà l'erreur ne correspond pas au code que tu poste. Mais de toute façons, si tu veux utiliser ce que retourne une méthode dans une classe, il faut au minimum:

    que la méthode retourne quelque chose (ton main retourn void)
    que les paramètres de la méthode correspondent à l'apple (ici tu appelle main() mais la méthode c'est main(String[]), ce qui ne correspond pas)

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Points : 59
    Points
    59
    Par défaut
    merci pour la réponse,
    j'ai réglé le problème comme suit:
    public class test {
    public static String main(String[] args)
    {
    return "Hello World !!";
    }

    }
    <body>
    <h2>
    <%
    testPackage.test ct = new testPackage.test();
    out.println(ct.main());
    %>
    </h2>
    </body>
    maintenant j'ai cree un projet, il marche très bien. maintenant je cherche à lancer ce projet depuis le jsp. je trouve l'erreur suivante:

    type Rapport d''exception

    message An exception occurred processing JSP page /index.jsp at line 20

    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 20

    17: <%
    18:
    19: main.fctionalMatchar ct = new main.fctionalMatchar();
    20: out.println(ct.debutdescovery());
    21: %>
    22: </body>
    23: </html>


    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    cause mère

    javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/mindswap/owls/process/ParameterList
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:88)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    cause mère

    java.lang.NoClassDefFoundError: org/mindswap/owls/process/ParameterList
    main.FunctionalEngine.<init>(FunctionalEngine.java:62)
    main.fctionalMatchar.discoverServices(fctionalMatchar.java:47)
    main.fctionalMatchar.debutdescovery(fctionalMatchar.java:120)
    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:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    cause mère

    java.lang.ClassNotFoundException: org.mindswap.owls.process.ParameterList
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    main.FunctionalEngine.<init>(FunctionalEngine.java:62)
    main.fctionalMatchar.discoverServices(fctionalMatchar.java:47)
    main.fctionalMatchar.debutdescovery(fctionalMatchar.java:120)
    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:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    ma classe contient la méthode suivante:
    public String debutdescovery()
    {

    String request="C:/xampp/htdocs/queries/1.1/city_weathersystem_service.owls";
    List<Service> lista = null;
    List<Service> lista2 = null;
    System.out.println(" fctionalMatcher - request : "+ request);
    String serviceDirectory ="C:/xampp/htdocs/services/1.1";
    fctionalMatchar teste = new fctionalMatchar();
    lista = teste.discoverServices(request,serviceDirectory);
    return "Hello World ////!!";

    }
    le fichier jsp contient: (main est le nom de pakage et fctionalMatchar nom de classe)
    <%

    main.fctionalMatchar ct = new main.fctionalMatchar();
    out.println(ct.debutdescovery());
    %>

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par sousou12 Voir le message
    merci pour la réponse,
    j'ai réglé le problème comme suit:


    maintenant j'ai cree un projet, il marche très bien.
    Je me demande par quel miracle, car ça ne peux pas marcher comme présenté


    Citation Envoyé par sousou12 Voir le message
    maintenant je cherche à lancer ce projet depuis le jsp. je trouve l'erreur suivante:
    Le message d'erreur est explicite: "javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/mindswap/owls/process/ParameterList"

    Il te manque cette classe ParameterList (ou plutot la librairie qui la contient).

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Points : 59
    Points
    59
    Par défaut
    e message d'erreur est explicite: "javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/mindswap/owls/process/ParameterList"

    Il te manque cette classe ParameterList (ou plutot la librairie qui la contient).
    mais le programme arche bien sans l'utilisation de jsp

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Tu fais quoi pour vérifier qu'il marche bien? De toutes façon, JSP n'invente pas le nom de la classe. Si il dit qu'elle luit manque, c'est qu'il en a besoin et que t'as oublié de la fournir à ta webapp.

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 104
    Points : 59
    Points
    59
    Par défaut
    pour vérifier que mon programme est marche bien je l’exécute.
    bon, j'utilise eclipse, premièrement j’exécute mon programme sans le fichier jsp. puis j'ai creé le fichier jsp. mais malheureusement j'ai l'erreur ci-dessus.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Comment tu l'exécute? Via un main que tu appelle de Eclipse? Via un Filter qui démarrerait automatiquement au démarrage de ton application? Via un unit test? Les JSP, c'est destiné à être déployé sur des serveur web java. Donc a priori, a part pour les unit test, tu es toujours censé exécuter via un "run on server" qui va déployer ton application web sur le serveur.

Discussions similaires

  1. Comment Executer Une Classe Java Dans Une Page Jsp
    Par yazidi_marwen dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/05/2012, 13h20
  2. Réponses: 1
    Dernier message: 29/08/2010, 22h50
  3. comment appeler une classe java dans une page jsp?
    Par limalima dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 21/11/2008, 22h59
  4. Comment utiliser une classe Java dans une appli PB ?
    Par bobychezA56 dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 09/04/2008, 18h07
  5. reconnaissance d'une class java dans 1 jsp
    Par launas dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 24/08/2006, 17h39

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