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

Tomcat et TomEE Java Discussion :

[OC4J][Tomcat][Accès fichier] spécification "file:\\&qu


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre régulier
    Avatar de Jaxofun
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 108
    Points : 84
    Points
    84
    Par défaut [OC4J][Tomcat][Accès fichier] spécification "file:\\&qu
    Bonjour à tous !

    J'essaye de recupérer des fichiers dans mon appli J2EE (pour parser etc...). J'ai compris qu'on ne pouvais pas utiliser l'uri pour la portabilité de l'appli, j'utilise donc getRealPath et je n'ai pas de problème sous mon serveur tomcat.
    Seulement je test avec mon serveur oc4j (oracle), et je me rend compte que le fichier n'est pas trouvé ??!!
    Après plusieurs recherche je trouve la spécification "file:\\" à ajouter en début du path pour faire fonctionner mon path sous oc4j, seulement si je rajoute "file:\\" cela ne marche plus sous tomcat.

    Pourquoi l'ajout de "file:\\" est obligatoire pour mon serveur oc4j et nuisible pour mon serveur Tomcat ?
    Pourtant si je crée un File avec l'url sans ajouter "file:\\" sous oc4j et que je test la présence par file.exists() cela me renvoi "true" ?! étrange ....

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 37
    Points
    37
    Par défaut pb d'acces à un fichier
    Est ce que tu peux me dire comment tu fais pour recuperer un fichier XML qui se trouverais par exemple dans
    WEB-INF/src/config/conf.xml
    ou meme dans danw WEB-INF/config/conf.xml

  3. #3
    Membre régulier
    Avatar de Jaxofun
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 108
    Points : 84
    Points
    84
    Par défaut
    Pour faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String realPath=action.getServletContext().getRealPath("");
    String uri="/WEB-INF/classes/config/conf.xml";
    return realPath+uri;
    En réalité j'utilise un fichier .properties pour stocker les uri et les récuperer, et je format le chemin obtenu par une fonction qui remplace les "\" et "/" par File.separator et qui verifie qu'il n'y a pas de doublons "//" "\\" dans le path.

  4. #4
    Membre régulier
    Avatar de Jaxofun
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 108
    Points : 84
    Points
    84
    Par défaut
    Youhou !!! J'ai enfin trouvé !!!

    Pour ceux que cela pourrais interesser :

    En fait, losque l'on spécifie une url, il faut normalement indiqué le type ("file://", "http://" ou "ftp://").

    Tomcat est un serveur laxiste la dessus et n'a pas besoin de ces indications pour utiliser l'url, on peut donc s'en passer sous Tomcat.
    OC4J quant à lui, est moins permissif et a besoin que l'on spécifie le type de l'url pour l'utiliser.

    Enfin pour utiliser "file://" il ne faut pas oublier d'ajouter un 3eme "/" decant l'url pour spécifier que l'on est en chemin relatif sinon il recherche à partir du root définit par le serveur (variable selon le serveur).

    Il faut donc faire (pour un type file) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String realPath=action.getServletContext().getRealPath(""); 
    String uri="/WEB-INF/classes/config/conf.xml"; 
    return "file:///"+realPath+uri;

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

Discussions similaires

  1. Performance accès fichiers IO.File
    Par aspire dans le forum Général Java
    Réponses: 11
    Dernier message: 22/02/2013, 11h48
  2. Accès fichier File.exists() et WindowsIdentity
    Par yukafrisbee dans le forum C#
    Réponses: 8
    Dernier message: 10/04/2012, 17h00
  3. input type="file" bloque la modification chemin accès fichier
    Par link256 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/09/2008, 14h57
  4. [tomcat]acces fichier dans contexte
    Par krollette dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/01/2004, 14h17
  5. [Kylix] accés fichiers
    Par sdoura dans le forum EDI
    Réponses: 4
    Dernier message: 08/10/2002, 19h33

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