récupérer des fichiers inclus dans un war [Java J2EE Servlet] - Java - Programmation
Marsh Posté le 10-02-2006 à 10:26:19
le plus simple est de les mettre dans ton classpath et d'y acceder via un getResource(String)
Marsh Posté le 10-02-2006 à 11:17:40
souk a écrit : le plus simple est de les mettre dans ton classpath et d'y acceder via un getResource(String) |
Merci pour ta réponse souk
Mais quand tu exécutes une Servlet via le browser tu ne spécifies pas de classpath. Je me trompe peut-etre.
Ou tu parlait du classpath du fichier META-INF contenu dans le war.
Ou bien il suffit juste que je copie mes fichiers de tests dans le meme repertoire que que celui du war.
j'avoue que je ne comprends pas tres bien.
Peux-tu etre plus explicite s'il te plait...
Merci d'avance
Marsh Posté le 10-02-2006 à 11:37:11
visiblement tu ne vois pas clairement ce qu'est le classpath, je te conseille de lire le topic de Benou (il y a un lien disponible dans le topic debutant java). Une fois que tu verras bien ce qu'est le classpath, tu pourras comprendre ma reponse. Pour acceder à une resource qui se trouve dans le classpath, tu peux aller lire ca
Marsh Posté le 10-02-2006 à 14:52:50
souk a écrit : visiblement tu ne vois pas clairement ce qu'est le classpath, je te conseille de lire le topic de Benou (il y a un lien disponible dans le topic debutant java). Une fois que tu verras bien ce qu'est le classpath, tu pourras comprendre ma reponse. Pour acceder à une resource qui se trouve dans le classpath, tu peux aller lire ca |
Merci Souk,
mais ce n'est pas tant ma méconnaissance du CLASSPATH qui pose problème mais ma méconnaissance du fonctionnement des resources inlcuses dans un war qui me posent problème.
J'ai déjà manipulé des resources incluses dans des jars et effectivement j'avais utilisé le ClassLoader pour acceder à mes images en relatif sans avoir eu recours de façon explicite au CLASSPATH.
Merci des que ça marche je posterai la piste à suivre pour à qui ça interesse
A+
Marsh Posté le 10-02-2006 à 15:25:23
ReplyMarsh Posté le 12-02-2006 à 01:55:52
le war c'est la version packagé d'une application web.
Ce n'est pas à toi d'y accéder directement ... Toi, si tu codes une servlet qui fait parti de ce war, tu dois utiliser les ressources qui te sont mises à disposition par le moteur de servlet => soit des données récupérées dans le JNDI, soit des données contenues dans l'application web et accessible en lecture seule via les méthodes getRessource et getRessourceAsStream de l'objet ServletContext.
Après tu peux toujours accéder au système de fichier correspondant au répertoire de l'application en utilisant la méthode getRealPath(), mais ce n'est pas la méthode préconisée, sauf cas spécial.
Marsh Posté le 08-03-2006 à 15:01:01
benou a écrit : le war c'est la version packagé d'une application web. |
Merci benou pour cette piste.
Maintenant que je l'ai empruntée je suis confronté à un nouveau problème: comment initialiser les objets
config,session car elle sont à null.
Et je n'arrive donc pas à invoquer la méthode getServletContext sur ces objets la.
Voici la structure de mon war
/testfiles/updateprofille
/testfiles/pushcontent
/testfiles/....
/WEB-INF/classes
WEB-INF/lib
le répertoire testfiles contient des fichier de tests
Voici le code que j'essaie d'exécuter ça sera plus clair:
Code :
|
Merci d'avance
Marsh Posté le 08-03-2006 à 17:05:41
axk47 a écrit : Merci benou pour cette piste.
|
Personne n'a une idée????
Merci d'avance
Marsh Posté le 10-02-2006 à 10:01:03
bonjour,
Voici mon probleme
j'ai crée une archive war pour des tests (Cactus)
le problème est que dans mes classes java je fais appel à des fichiers de tests(xml) qui sont contenus dans un répertoire qui s'appelle testfiles.
par exemple dans mon code Java
j'ai ceci
Mon probleme est que mes tests foirent à cause d'une erreur claire et précise du type
(file machin.xml not found), mais que je n'arrive aps à resoudre
En voici une trace
Ma question est de savoir à quel endroit dois-je placer les fichiers de tests au niveau du war afin de pouvoir y acceder en relatif comme c'est indiqué dans le code java.
est -ce dans le WEB-INF??? ou il faut que je foute mes fichiers de tests dans le meme repertoire que mes fichiers.class.
Sinon je seche depuis hier soir la dessus, si quelqu'un a une idée merci d'avance.
---------------
"Rendez tout aussi simple que possible mais ne simplifierez rien" Albert Einstein