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

Développement Web en Java Discussion :

Déclarer un répertoire JEE


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2010
    Messages : 97
    Par défaut Déclarer un répertoire JEE
    bonjour je suis débutant JEE, et je souhaite déclarer un répertoire dans lequel je vais stocker des fichiers xml que mon servlet se charge de créer.

    Le problème et que j'arrive pas à créer les XML dans ce répertoire car le chemin par défaut pointe sur le répertoire Tomcat.

    est ce qu'il y a une genre de déclaration à faire dans le fichier web.xml ou autre solution ?

    PS : je met pas mon application dans le répertoire webapps de tomcat .
    C'est magique mais elle marche !!!

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par ADBows Voir le message
    Le problème et que j'arrive pas à créer les XML dans ce répertoire car le chemin par défaut pointe sur le répertoire Tomcat.
    Je capte pas, comment ça il pointe vers le répertoire par défaut? de quel répertoire parles tu donc?
    Citation Envoyé par ADBows Voir le message

    est ce qu'il y a une genre de déclaration à faire dans le fichier web.xml ou autre solution ?
    C'est une possibilité en effet, tu peux déclarer un paramètre dans ton web.xml designant l'endroit où tes fichiers xml seront traités, mais en fait tu peux aussi très te passer de cette declaration dans le web.xml, il faut que tu crèes un repertoire à la racine de ta webapp, et dans ta servlet tu récuperes le chemin du contexte auquel tu vas rajouter le nom de ton repertoire xml pour obtenir le chemin complet de ce fameux repertoire. c'est un peu bcp de littérature tout ca , mais bon dis nous deja si tu comprends le principe avant qu'on ne t'explique le code à faire pour ca.


    Citation Envoyé par ADBows Voir le message
    PS : je met pas mon application dans le répertoire webapps de tomcat .
    C'est magique mais elle marche !!!
    Le genie , t'as fait une découverte sous tomcat, bien qu'étant débutant . C'est normal webapps c'est le répertoire de déploiement de tomcat, il charge tous les contextes qui s'y trouvent tout simplement.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2010
    Messages : 97
    Par défaut
    Je capte pas, comment ça il pointe vers le répertoire par défaut? de quel répertoire parles tu donc?
    En fait quant j'utilise la commande mkdir par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File dir = new File ("schema");dir.mkdirs();
    le programme crée se répetoire dans : 'C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11\schema'

    Et comme j'ai précisé avant je ne déploie pas mon application dans le répertoires alors que le fonction crée le rép Schéma dans un autre chemin hors du répertoire racine de l'application,ce qui est indésirable.

    C'est une possibilité en effet, tu peux déclarer un paramètre dans ton web.xml designant l'endroit où tes fichiers xml seront traités, mais en fait tu peux aussi très te passer de cette declaration dans le web.xml, il faut que tu crèes un repertoire à la racine de ta webapp, et dans ta servlet tu récuperes le chemin du contexte auquel tu vas rajouter le nom de ton repertoire xml pour obtenir le chemin complet de ce fameux repertoire. c'est un peu bcp de littérature tout ca , mais bon dis nous deja si tu comprends le principe avant qu'on ne t'explique le code à faire pour ca.
    tu peux me dire comment y procéder ?

    Le genie , t'as fait une découverte sous tomcat, bien qu'étant débutant . C'est normal webapps c'est le répertoire de déploiement de tomcat, il charge tous les contextes qui s'y trouvent tout simplement.
    Qu'est ce que vous me proposez de placer mon appli dans webapps ou continuer sans déploiement car par défaut à chaque nouveau projet eclipse ajoute des Lib tomcat et le jre7 et le projet est auto listé dans la liste des projet tomcat (http://localhost:8080/manager/html)

    Est ce que y a moyen de contourner cela ?

    Pour dire que je suis un génie pas la peine car j'en étais depuis ma naissance c'est comme dire 2*0= heuu 2 je croix

    Merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Dans ta servlet tu fais ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Ici, on récupère le contexte de l'application
    		ServletContext context = getServletContext();
    et l'objet context te donnera toutes les infos dont t'as besoin sur ton contexte. Notamment le chemin de ton context, mais ceci pour un accès en écriture d'un repertoire par une appli c'est déconseillé d'ecrire des fichiers dans la webapp, pour la simple raison que demain si tu veux changer de war, on peut oublier et virer le contexte existant avec les fichierx xmls dont peut avoir besoin le nouveau war. Donc ce que je te conseillerai c'est paramétrer dans une properties le chemin d'accès à ton repertoire xml, et que ce chemin soit hors webapp, et ce properties sera lu dans ta servlet.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    web-inf/ton_fichier.properties
    et dans ce properties tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_path_xml = c:/temp/rep_xml
    et donc dans ta servlet tu charges ton properties et récupères le chemin vers ton rep_xml. voila voila

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2010
    Messages : 97
    Par défaut
    Est ce que tu peux expliquer un peu plus car j'arrive pas à comprendre.

    Merci d'avance

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Je reconnais que je te donne bcp d'infos en même temps, d'où le fait que tu te perdes un peu. En fait je te déconseille d'écrire dans ta webapp des fichiers produis par ton application, je te propose d'externaliser le répertoire dans lequel ta servlet écrira ses fichiers xml, pour ce faire, tu peux soit indiquer dans un fichier de propriétés java le chemin d'accès à ce repertoire xml, et donc dans ta servlet tu lis ce fichier de propriétés , exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // properties in the classpath
          java.util.Properties props = new java.util.Properties();
          java.net.URL url = ClassLoader.getSystemResource("myprops.props");
          props.load(url.openStream());
    et ensuite tu récupères de ce fichier de propriétés la valeur du path de ton rep_xml. et tu fais ton opération.Soit tu mets ce chemin comme paramètre dans ton web.xml et tu récupères dans ta servlet, c'est toi qui vois. En fait quand tu fais ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File dir = new File ("schema");dir.mkdirs();
    Ton tomcat ne sachant pas par defaut ou tu lui demandes de le créer et ben il ira te le créer dans son repertoire de travail par défaut, ce qui peut être genant.

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

Discussions similaires

  1. déclarer un répertoire ou disque comme clé usb
    Par HE dans le forum Windows XP
    Réponses: 0
    Dernier message: 16/06/2009, 16h19
  2. Répertoire caché
    Par KUBITUS dans le forum Delphi
    Réponses: 30
    Dernier message: 13/04/2007, 08h19
  3. sélectionner un répertoire
    Par estelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/09/2005, 05h53
  4. [TASM] Déclarer le segment de pile
    Par cipher dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 01/10/2002, 04h58
  5. Tjours mon pb de date de répertoire
    Par mjacque dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2002, 10h50

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