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

Applets Java Discussion :

Erreur execution d'une Applet


Sujet :

Applets Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut Erreur execution d'une Applet
    Salut

    Je me lance dans les Applets et j'en ai fait une toute simple :
    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
    public class Applet1 extends Applet{
     
    	   public void init()
    	   {
    		   //code d'initialistaion
    	   }
     
    	   public void start()
    	   {
    	         System.out.println("test applet");
    		   //code de d'éxécution
    	   }
     
    	   public void stop()
    	   {
    	       //code de suspension de l'execution
    	   }
     
    	   public void destroy()
    	   {
    	       //code de terminaison
    	   }
     
    }
    Seulement, lors du test dans mon navigateur j'ai une erreur :
    ava.lang.ClassFormatError: Incompatible magic value 218774561 in class file Applet1
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    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)

    Quelqu'un sait d'ou ca vient ? J'ai fais quoi comme erreur ?

    Merci beaucoup

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Precision :

    Ca marche si je la lance dans eclipse, mais sous tomcat non (en effet, j'insere mon APPLET dans une JSP)

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    La version de java utilisée par ton plugin dans le browser est plus ancienne que la version utilisée pour compiler le jar

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Hum .. Non, je viens de tester en compilant en 1.5 ca marche toujours pas (mon browser est à jour : FireFox avec Java 1.6)

    EDIT :

    Si Ll'appel de mon applet est comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <APPLET code="applet/Applet1.class" width="1000" height="700"></APPLET>
    L'applet doit etre placée ou ? ici : webapps/MonProjet/applet/Applet1.class ?
    IL me semble que le WEB-INF est invisible pour le client (donc pour mon applet)

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    J'ai fais divers tests et j'ai remarqué que lorsque je met un nom bidon lors de l'appel à mon applet j'ai un noClassFoundException...

    J'en conclut donc qu'il trouve bien mon .class lorsqu'il me genere le magic value...

    Dans ce cas la, pourquoi le .class n'est pas traité ?

    J'ai vu plein de posts differents, j'ai testé de generer des serialID dans ma classe... Mais rien n'y fait...

    Help

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    T'as envoyé comment ton .class au serveur? Ce message d'erreur (désolé j'ai confondu) signifie que le .class ne commence pas comme il le devrait par les 4 octets 0XCAFEBABE

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Comment ca envoyé au serveur ?

    Mon workspace (de eclipse) est défini dans webapps donc ca compile directement sous tomcat quand j'utilise eclipse.

    J'ai pas bien saisi ...

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Tu n'aurais pas un JRE en 1.4 sur ta machine ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ton message d'erreur indique un fichier .class corrompu, d'une manière ou d'une autre.

    En regardant ce que ça donne en ascii 218774561, on obtiens "\r\n<!", ce qui semble le début d'un entête html. Conclusions -> quand tu demande le .class tu reçois a la place un page html. Tape l'url de la classe dans ton browser pour lire l'erreur.

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Regarde ceci, ça ressemble étrangement à ton problème...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Merci beaucoup pour vos reponses

    @OButterlin - Alors tout d'abord, non je n'ai pas de jr4 mais bien une jr6.

    @tchize_ - J'ai essayé de récupérer mon .class par le navigateur mais ca ne renvoi rien. Ca m'affiche la page de base de mon application.

    Je m'explique :

    http://localhost:8080/MonProjet/Bonjour.class m'affiche la meme chose que si je mettais juste : http://localhost:8080/MonProjet/

    @OButterlin - J'ai regarde le lien fournit mais malheuresement je n'ai pas de double version de java installées... J'ai juste la 1.6


    EDIT : Si je passe par une page html que je lance manuellement (sans passer par le serveur), l'applet s'affiche bien...


    Etrange non ?

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Tu travailles avec quel OS ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Seven

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par ChristopheD Voir le message
    @tchize_ - J'ai essayé de récupérer mon .class par le navigateur mais ca ne renvoi rien. Ca m'affiche la page de base de mon application.
    Donc le problème est bien là. Si ton serveur ne renvoie pas le .class correctement, ton applet va avoir du mal à fonctionner . On peut voir ton web.xml? T'as une couille quelque part

  15. #15
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    En effet

    Voici mon web.xml :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>MonProjet</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
     
    	<servlet>
    		<servlet-name>servletPreLancement</servlet-name>
    		<servlet-class>servlets.prelancement.servletPreLancement</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>servletPreLancementAction</servlet-name>
    		<servlet-class>servlets.prelancement.servletPreLancementAction</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>servletInscriptionUtilisateur</servlet-name>
    		<servlet-class>servlets.inscriptionUtilisateur.servletInscriptionUtilisateur</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>servletInscriptionUtilisateurAction</servlet-name>
    		<servlet-class>servlets.inscriptionUtilisateur.servletInscriptionUtilisateurAction</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>servletConnexionChat</servlet-name>
    		<servlet-class>servlets.chat.servletConnexionChat</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>servletConnexionChatAction</servlet-name>
    		<servlet-class>servlets.chat.servletConnexionChatAction</servlet-class>
    	</servlet>
    	<servlet>
    		<servlet-name>servletApplet</servlet-name>
    		<servlet-class>applets.servletApplet</servlet-class>
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>servletPreLancement</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>servletPreLancementAction</servlet-name>
    		<url-pattern>/PreLancementAction.do</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>servletInscriptionUtilisateur</servlet-name>
    		<url-pattern>/InscriptionUtilisateur</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>servletInscriptionUtilisateurAction</servlet-name>
    		<url-pattern>/InscriptionUtilisateurAction.do</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>servletConnexionChat</servlet-name>
    		<url-pattern>/ConnexionChat</url-pattern>
    	</servlet-mapping>
    		<servlet-mapping>
    		<servlet-name>servletConnexionChatAction</servlet-name>
    		<url-pattern>/ConnexionChatAction.do</url-pattern>
    	</servlet-mapping>
    	<servlet-mapping>
    		<servlet-name>servletApplet</servlet-name>
    		<url-pattern>/servletApplet</url-pattern>
    	</servlet-mapping>
     
     
    </web-app>
    Ma JSP n'est pas référencée je viens de penser... Mais ce n'est pas obligatoire si ? Vu que je l'appel directement dans le navigateur.

  16. #16
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Je viens de remarquer que mes .class ne sont pas dans MonProjet/WebContent/WEB-INF mais dans MonProjet/build.

    Est-ce normal ?

    Les .class ne devraient pas être dans le WEB-INF ???

    Comment se fait-il qu'apache arrive à lancer mes servlets ?

    EDIT : Cela dit, ca ne change pas mon probleme car j'ai copié/collé mon applet dans WebContent au meme niveau que ma JSP pour effectuer les test.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    c'est ça qui est en cause:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	<servlet-mapping>
    		<servlet-name>servletPreLancement</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    Tout ce qui ne passera pas par une autre servlet passera par là, ca inclu les demande de fichiers css, images, js et les .class de l'applet. Le mapping "/" est le mapping "par défaut". Il vaut mieux éviter d'y mettre quelque chose

    Pour les jsp, pas de soucis, le conteneur fait un mapping automatique sur base du nom de la jsp.

  18. #18
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    YES

    Ca marche ! Merci beaucoup ! Je n'aurai jamais pensé a ca...

    Maintenant vient l'autre probleme...

    Jusqu'a maintenant je copiais mon .class au même niveau que ma JSP mais comment faire pour que ma JSP puisse accéder au .class qui est généré par Eclipse directement dans :

    MonProjet/build/classes/applets/Bonjour.class par exemple ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le mieux est de générer ton applet à part (autre projet), en faire un jar et mettre le jar a coté du jsp. Sinon tu va devoir créer un servlet pour servir tes .class car, par défaut et par sécurité évidente, tout ce qui se trouve sous WEB-INF/ dans la webapp n'est pas accessible par le browser.

  20. #20
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Okey je vais tenter le jar.

    Merci encore

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

Discussions similaires

  1. problème d'execution d'une applet
    Par Choun dans le forum Applets
    Réponses: 1
    Dernier message: 22/04/2008, 04h29
  2. probleme lors de l execution d une applet
    Par fAdoua123 dans le forum Applets
    Réponses: 2
    Dernier message: 09/07/2007, 14h26
  3. Réponses: 3
    Dernier message: 03/07/2006, 16h54
  4. Execution d'une applet depuis une autre applet
    Par Gregory3000 dans le forum Applets
    Réponses: 2
    Dernier message: 26/10/2005, 21h10
  5. [Ant]Erreur execution d'une tache ANT
    Par gerin dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/05/2004, 16h59

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