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 :

Applet dans une JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par défaut Applet dans une JSP
    Bonsoir ,

    Depuis quelques heures j'essaie d'afficher une applet dans une jsp , j'ai bien chercher sur le net , même les exemples les plus simples ne marchent pas.
    Je me tourne envers vous pour trouver une solution à mon problème.

    voici le code de ma jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%@ page language="java" %>
    <html>
    <head>
    <title>Welcome JSP-Applet Page</title>
    </head>
    <body>
    <jsp:plugin type="applet" code="RotationForm.class" codebase="D:/Tomcat 6.0/webapps/PlateForme/build/classes/applets"
    		archive="jar.jar"
                    width="400" height="400">
              </jsp:plugin>
    </body>
    </html>

    Pour info je développe une application web dynamique en utilisant Tomcat et le framework Struts .
    Ma jsp est sous WebContent/pages/
    Mon applet.java est sous src/applets/

    J'obtiens cette erreur

    java.lang.ClassNotFoundException: RotationForm.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8010/PlateForme/pag...rm/class.class
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    ... 7 more
    Votre aide me sera d'une grande utilité .
    Merci d'avance

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut même problème
    Je cherche aussi à mettre en place ce genre de solution pour un affichage de calendrier dans une page web (pour une sélection de date) mais sans résultat pour l'instant...

    Toute réponse m'intéresse !

    Cordialement.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Si c'est simplement pour un calendrier avec sélection de date, c'est inutile de t'embêter avec une applet.
    Tu trouveras des librairies javascript qui font le boulot.
    Ca évitera à tes "clients" de devoir installer Java sur leur machine.

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut no javascript
    Ça je saurais faire, malheureusement mon projet doit entièrement être réalisé en J2EE (donc pas de JavaScript...)

    c'est ballot !

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    J2EE n'est pas incompatible avec javascript, heureusement !
    Une applet pour réaliser quelque chose d'aussi simple, te causera plus de problèmes qu'autre chose.

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut
    Citation Envoyé par fr1man Voir le message
    J2EE n'est pas incompatible avec javascript, heureusement !
    Dans le cadre de mon projet, je ne peux pas me servir du javascript et puis, il faut bien se faire la main sur quelque chose !

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Par défaut
    Salut, je viens de faire quelques test sur une applet intégrée à une jsp, cela fonctionne.
    Pour info tu peut utiliser la balise <APPLET /> jsp:plugin n'est pas obligatoire.
    Concernant la déclaration de cette balise jsp:plugin il doit y avoir une erreur.

    1) est ce que le dossier build est accessible par le navigateur.
    2) ne met pas un chemin en dur dans codebase mais juste le chemin a partir du sous répertoire de WebContent ou "." si tes classes sont dans ce dernier.
    3)si ta classe est dans un package mettre le nom du package avant la class dans code.

    un exemple, je fait MonApplet dans un package applets. Je créé un fichier ant qui me compile ma classe dans webContent (pour info le ant va généré un dossier applets dans lequel il y aura la classe compilé MonApplet).

    j'ai une page jsp dans webContent dans lequel j'écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <APPLET name="MonApplet" code="applets.MonApplet.class" width="500"  height="200">
    </APPLET>
     
    <jsp:plugin type="applet" code="applets.MonApplet.class" codebase="." width="400" height="400">
     </jsp:plugin>
    Les 2 fonctionnent, j'aurai très bien pu avoir un dossier mesApplets dans webContent dans lequel je génré ma class MonApplet.

    Voilà cela devrait régler le problème.

    Par contre à quoi te sert archive="jar.jar"?

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut super
    Super la réponse ninlock, merci!

    Aurais tu un lien détaillant la procédure de compilation avec ant stp que je test, pour moi tout le reste (appel de l'applet) était bon mais je n'avais pas réalisé cette étape (j'avais copier coller les .class à l'arrache dans le WebContent)

    PS ce n'est pas moi qui est lançé la discussion donc je ne pourrais pas te répondre pour le archive="jar.jar"...

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Par défaut
    Cela devrait fonctionner avec un copier coller en attendant.
    Concernant ant, tu peut trouver des petits tuto très pratique, mais voici ce que moi j'utilise.
    build.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="testServletAppletSimple" basedir=".">
     
    	<target name="generateApplet"> 
    		<!-- compilation des sources Java -->
    		<javac srcdir="src/applets" destdir="WebContent"/>
    	</target>
     
    </project>
    javac compile les sources situé src/applets et les colles dans /WebContent, et créé les dossier nécessaire correspondant aux package.

  10. #10
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut
    et ce build.xml est dans quel répertoire ?

    Eb tout cas moi avec les dossiers contenant les classes.class dans le WebContent ça m'affiche une page vide dans le naviguateur...

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Par défaut
    le build.xml ce positionne a la racine du projet et les tache se lance, sous eclipse grâce a la vue ant, en glissant ton build.xml dans la vue et tu double clique sur le generateApplet.

    Ton probleme perciste certainement parceque ta classe applet RotationForm est dans un package applets alors que tu copie la classe compilé directement dans webContent alors qu'il faut la mettre dans un dossier portant le nom du package. Dans ton cas ton RotationForm.class devrait être dans webContent/applets. Mais si tu utilise le ant tu n'aura pas besoin de te poser la question.

  12. #12
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 354
    Par défaut Y a du mieux...
    Donc je me suis pris la tête à installer ant à la main, j'ai compiler en ligne de commande et la ça marche plutôt bien.

    J'aurais gagner du temps à faire un clic droit sur mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    build.xml > Run As > Ant Build


    ce qui m'a induit pas mal en erreur c'est que l'affichage dans le naviguateur d'eclipse m'affiche pas l'applet (dans mon cas, un calendrier) mais par contre dans mozilla @ http://localhost:8080/CalendarWebBis/index.jsp j'ai bien l'apparition de mon applet, c'est bizarre !

    Du coup ça marchait ptet bien depuis le début...

  13. #13
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2008
    Messages : 34
    Par défaut
    C'est bizzard le navigateur eclipse utilise le moteur de ton navigateur défini par défaut.
    En tout cas c'est sûr que si tu respect pas l'arborescence du package contenant la classe là ou tu copie le code compilé et l'appel de cette classe avec son package, ça ne peut pas marcher.

Discussions similaires

  1. Appeler une méthode d'une applet dans une jsp
    Par salmoucha10 dans le forum Applets
    Réponses: 1
    Dernier message: 11/01/2011, 20h25
  2. Insérer une Applet dans une JSP
    Par motorenshi dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/05/2010, 19h50
  3. Applet dans une jsp
    Par mina86 dans le forum Applets
    Réponses: 5
    Dernier message: 20/08/2008, 18h21
  4. [debutant] rajouter un applet dans une page JSP
    Par mlequim dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/07/2005, 15h50
  5. [Applet] Ouvrir une applet dans une page HTML
    Par debutant java dans le forum Applets
    Réponses: 4
    Dernier message: 04/06/2004, 18h11

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