Struts/excel/unix

Fermé
bd1000 Messages postés 2 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 août 2008 - 28 août 2008 à 09:43
 devenirfort - 23 sept. 2008 à 13:37
Bonjour,
Bonjour,
Je veux deployer une application web écrite en struts (java), et qui marche bien sur localhost (windows-tomcat).
Mon problème est survenu quand j'ai deployé l'application sur un serveur tomcat-unix. J'ai en fait à charger un fichier excel sur une base de données, le fichier se trouve dans un dossier de l'application, et j'ai bien verifier le chemin d'accès à ce dossier (le chemin est bon).
je me suis dit peut etre y a un problème unix/excel ou peut etre il faut configurer tomcat pour qu'il prend en charge les fichiers ".xls".
Merci d'avance pour vos réponse.
A voir également:

3 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
28 août 2008 à 10:37
Bonjour,

Es-tu certains d'avoir configuré ton classpath de la même manière dans les deux environnements ? Si tu l'affiches, es-ce que tu retrouves bien l'ensemble des sources / répertoires de l'environnement Windows pour l'environnement Unix ?

Pour ce qui est de configurer tomcat pour qu'il prenne en compte le format .xls, je dirai que ça n'a aucun rapport. Tomcat est là pour faire office de serveur web, en aucun cas c'est lui qui se charge de lire ton fichier excel mais ton code java. Le mieux est de mettre des traces dans ton programme pour voir où il passe lors de son exécution et ainsi savoir pourquoi le fichier n'est pas chargé correctement (problème de chemin d'accès dans le programme, etc.)

Sinon, sous Unix, quel environnement Java utilise-tu avec Tomcat ? (éclipse, websphere, autre ?)
0
Merci pour la reponse.
J'utilise java 1.5 sur unix .
Pour classpath, je ne sais comment le configuer.
0
Merci pour la reponse.
J'utilse java 1.5 le meme que sur windows.
pour classpath, je ne sais pas comment le configuer.
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
15 sept. 2008 à 10:03
Pour faire plus simple, peux-tu répondre à la question suivante :
Le chemin d'accès au fichier excel que tu essai de lire, est-il relatif ou absolu ?
Relatif = chemin relatif par rapport à un point de départ, c'est à dire par rapport à un autre répertoire et non par rapport à la racine d'un disque dur. (ex: ../data/fichier.xsl)
Absolu = chemin depuis la racine du disque dur sur lequel se trouve le fichier en question (ex: C:\windows\...\data\fichier.xsl)

Q'importe la réponse à cette question, est ce que tu pourrais poster le code java qui permet d'ouvrir le fichier (avant de le lire) ?

Merci.
0
devenirfort > kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
16 sept. 2008 à 08:49
bonjour,
Oui, j'utilise le chemin relatif .
Voila la fonction (en java) qui recupere un chemin relatif vers le fichier a partir du dossier report:
String filePath = getServlet().getServletContext().getRealPath("/") +"reports".
En fait, le programme a reussi à copier le fichier dans un dossier qui s'appele Excel, mais quand il le cherche pour le charger sur la base de données,là ya un problème. Je ne pense pas que c'est le chemin vers le fichier est le problème.
Je ne sais pas peut etre c'est les droits de lecture/ecriture qui posent problème.
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > devenirfort
16 sept. 2008 à 16:29
Tu dis que le fichier est copié dans un répertoire nommé "excel" mais tu cherche à la racine de ton application, dans le dossier "reports". Es-tu bien sur que ton fichier excel se trouve dans le dossier "report" situé à la racine "/" de ton application ?

Est ce qu'il ne faut pas concaténer un séparateur :
String filePath = getServlet().getServletContext().getRealPath("/") + File.separator + "reports";

Pour avoir un path correct ?
Qu'obtiens-tu comme trace si tu affiche le chemin que tu as récupéré :
System.out.println("Chemin : "+filePath); // a mettre juste après ta ligne de récupération

0
devenirfort > kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
17 sept. 2008 à 10:03
Voila ce que la fonction println m'affiche C:\Java\Projets\TEAM 1.0\build\web\reports/diragence2008.XLS
Le chemin est bon. C:\ est la racine du serveur. Le fichier excel se trouve bien dans le dossier report.
L'application marche tres bien sur un serveur Windows (y a pas de souci).
La fonction getRealPath() fait bien son boulot.
0
devenirfort > devenirfort
23 sept. 2008 à 13:37
Bonjour,
J'ai resolu le problème. En fait, c'est la version de la bibliothèque jxcell qui n'est pas bonne.
Merci
0