Fichier .jar sur serveur n'est pas trouvé
Bonjour.
J'apprends JSP-JSTL et Tomcat.
Dans mon IDE de Netbeans, mon petit projet de test a été créé en tant que 'web application', avec Apache Tomcat comme choix de serveur. J'en conclus que lorsque je fais s'exécuter la page de garde (index.html ou .jsp), un serveur-conteneur Tomcat-Jasper est également mis en route (s'il ne l'est pas déjà) sur mon PC même.
Mon petit projet de test vise à télécharger une Applet.class se trouvant effectivement dans un fichier Java en bibliothèque (d'un auteur sûr dont j'ai téléchargé le fichier eid-applet-package.jar contenant le code de be.fedict.eid.applet.Applet.class).
Code de ma page index.jsp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <body>
...
<script src="https://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
code : 'be.fedict.eid.applet.Applet.class',
archive : 'eid-applet-package-1.1.3.jar',
width : 400,
height : 300
}
var parameters = {
TargetPage : 'identity-result.jsp',
AppletService : 'applet-servcice',
BackgroundColor : '#ffffff'
}
var version = '1.1.3';
deployJava.runApplet(attributes, parameters, version);
</script>
</body>
</html> |
Ce script est un exemple donné par l'auteur du projet eID.
Mon problème : Le conteneur Jasper semble ne pas trouver le fichier eid-applet-package-1.1.3.jar.
Dans la page du navigateur se charge bien un rectangle (avec le timer de Java); mais si je code
Code:
archive : 'eid-applet-package-1.1.3.jar',
, ce rectangle ne trouve apparemment pas l'applet. L'erreur apparaissante :
Citation:
ClassNotFoundException : be.fedict.eid.applet.Applet.class
tandis que si je code
Code:
archive : 'D://DwnldApp/eid-applet-sdk-1.1.3/eid-applet-package-1.1.3.jar',
, l'erreur qui apparaît alors est :
Citation:
IllegalArgumentException : name
(Ce 'name' est probablement une variable de la classe 'Applet.class', révélant qu'elle serait trouvée)
Ma question : Dans quel fichier de configuration du Tomcat-Jasper se trouverait le path servant de préfixe à eid-applet-package-1.1.3.jar ? soit comment faire pour que ce fichier .jar soit bien trouvé par le serveur-conteneur ? Car lorsque je porterai le code sur un serveur distant, il ne s'agira plus que mon script contienne encore le préfixe D://DwnldApp/eid-applet-sdk-1.1.3/.
Merci d'avance pour votre attention et, le cas échéant, pour tenter de m'aider et pour vos réponses.
PS: Mon livre d'apprentissage : Java Server Pages de Hans Bergsten, chez O'Reilly - 3rd edition (JSP 2.0 & JSTL 1.1)
Fichier .jar sur serveur n'est pas trouvé
Cher Tchize, merci bcp pour ta réponse.
Chers passants par cette discussion,
Il ne s'agit pas d'une application client-serveur où tous les visiteurs futurs sont sensés avoir d'abord téléchargé le fichier 'eid-applet-package-1.1.3.jar' dans un répertoire prédéterminé sur leur PC. Je suis quasi persuadé que ce fichier, qui contient principalement la classe 'be.fedict.eid.applet.Applet.class', est systématiquement téléchargée dans le browser-client depuis le serveur, juste après que les composants de base de la page html (ou jsp) aient été téléchargés, grâce à https://www.java.com/js/deployJava.js.
Je rappelle que le rectangle (dont dimensions voir paramètres dans le script) s'installe bien dans la page html reçue du serveur (local), mais l'applet ne suit pas.
Lorsque j'ai créé cette 'web-application' de test, j'ai été invité à déclarer quel serveur j'allais employer (Apache-Tomcat) probablement pour que l'IDE NetBeans crée - entre autres - le path qui sera nécessaire lorsque l'application complètement développée devra être déployée sur un serveur externe.
Rappel : Le script envoyé précédemment provient de l' 'eID Applet Developer's Guide' de l'un des auteurs principaux de ce projet gouvernemental.
Voilà en tout cas comment je comprends les choses; donc sous réserve d'interprétation erronée.
Je pense donc qu'on ferait fausse route, en cherchant à placer 'eid-applet-package-1.1.3.jar' sous 'Web pages', n'est-ce pas ?
Question subsidiaire : Les fichiers 'jar' sous 'Libraries' sont-ils donc tous et toujours destinés à être déployés sur le serveur (sur PC pour le développement; externe pour l'exploitation) ?
En cette phase de développement où le serveur Tomcat est une réplique 'tournant' sur le même PC que NetBeans, le browser (Mozilla) n'a pas l'air de parvenir à atteindre D:\Devel tools\eid-applet-sdk-1.1.3\eid-applet-package-1.1.3.jar .
Y aurait-il un moyen pour vérifier que Tomcat, dès qu'il est démarré, possède 'eid-applet-package-1.1.3.jar' ou 'be.fedict.eid.applet.Applet.class' dans sa liste de ressources ? (Tomcat - Administration Tool ?)
Sans vouloir abuser de ton temps, Tchize ...
Merci à tous