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

Struts 1 Java Discussion :

[debutant] traitement d'un fichier txt et chargement de parametres au démarrage


Sujet :

Struts 1 Java

  1. #1
    Membre du Club Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Points : 69
    Points
    69
    Par défaut [debutant] traitement d'un fichier txt et chargement de parametres au démarrage
    Bonjour,

    je débute le développement avec struts et je souhaiterais mettre des parametres globaux luent à partir d'un fichier properties au lancement de mon application struts...

    je m'explique :

    je souhaite créer un fichier properties pour les parametres de configuration de mon application, dans ce fichier se trouveront les parametres suivant :
    - un parametre spécifiant le type d'enregistrement des données ( soit dans un fichier texte [cas1] soit dans une base de données[cas2])
    - le nom du ficher texte pour le cas1
    - la datasource pour le cas2

    je souhaiterai donc avoir 2 parametres comme les parametre de contexte que l'on peut spécifier dans le fichier web.xml, l'un pour le type d'enregistrement et l'autre pour le fichier texte dans le cas1 ou la datasource dans le cas2

    comment puis-je gérer cela?

    merci et bonne année

  2. #2
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Tu as la classe Properties qui devrais répondre à tes besoin.

    Sinon tu peux utiliser des variables d'environnement (aléatoire), ou les variable dans la configuration du serveur ( Context.xml ou Server.xml dans tomcat).

  3. #3
    Membre du Club Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Points : 69
    Points
    69
    Par défaut
    ok pour les variables, je vais créer des variables de contexte qui serviron a endristrer ces valeures merci

    pour ce qui est du chargement au démarage de ces variables il y a t il une façon prévu dans struts pour éxécuter du code au lancement de l'application web?

  4. #4
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Non, mais dans JEE oui.
    Ca ce passe dans ton web.xml

    Tu déclares une nouvelle servlet, et tu met <load-on-startup>n</load-on-startup>

    où n représente l'ordre d'execution ( un peut comme les init sous linux, mais juste un peu ) et est un entier.

    Par exemple pour le chargement de spring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <servlet>
        <servlet-name>context</servlet-name>
        <servlet-class>
          org.springframework.web.context.ContextLoaderServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    Donc quand tu démarres ton context, cette servlet vas être immédiatement démarrée. (Enfin la fonction init de ta classe va être appelée, car ta classe doit étendre HttpServlet !)

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Pas mieux que Pikwik...
    En plus, tu peux (peut-être) utiliser le fichier web.xml pour définir tes paramètres. Voici une illustration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    // Pour la servlet (minimum)
    package nom.package.perso;
     
    import javax.servlet.ServletConfig;
    import javax.servlet.http.HttpServlet;
     
    /**
     * 
     */
    public class Automatic extends HttpServlet
    {
        private static final long serialVersionUID = -7359730242491469868L;
     
        public void init(ServletConfig config)
        {
            System.out.println("Phase de démarrage du serveur");
            System.out.println("Paramètre loopInterval=" + config.getInitParameter("loopInterval"));
        }
    }
     
    // web.xml
    // Rajouter la définition de la servlet comme ceci...
     <servlet>
      <servlet-name>Automatic</servlet-name>
      <servlet-class>nom.package.perso.Automatic</servlet-class>
      <init-param>
       <param-name>loopInterval</param-name>
       <param-value>300</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
     </servlet>
    A+

  6. #6
    Membre du Club Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Points : 69
    Points
    69
    Par défaut
    merci à tous les deux, c'est nickel!

    encore une fois bonne année, meilleurs voeux, amour, argent, santé, bonheur et développement!

  7. #7
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Pas mieux que Pikwik...
    En plus, tu peux (peut-être) utiliser le fichier web.xml pour définir tes paramètres. Voici une illustration :
    Oui ca fonctionne très bien, en plus sous tomcat tu peux donner une priorité au paramètre encotre web.xml et context.xml.

    Ainsi tu peux faire une execution conditionnelle.
    Ainsi le paramètre change si ta webapp fonctionne sous tomcat ou jetty (par exemple !)

  8. #8
    Membre du Club Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Points : 69
    Points
    69
    Par défaut
    je "dé-tag résolu"...j'ai un petit souci..
    j'ai donc crée des variables de contexte dans le fichier web.xml, je les charge avec ma servlet d'initialisation...et je les retrouve avec la methode getServletContext()...

    seulement aprés je ne sais pas comment retrouver ses variables...je défini des actions à struts, je ne travail plus avec des servlet, je n'ai donc plus accés à la methode getServletContext()..

    comment les récuperer?

  9. #9
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Dans la méthode execute de ton Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.servlet.getServletContext().getAttribute("taVariable");

  10. #10
    Membre du Club Avatar de bambou
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 192
    Points : 69
    Points
    69
    Par défaut
    yes merci ma'am bonne année!

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

Discussions similaires

  1. Traitement d'un fichier txt
    Par anass_59 dans le forum Général Python
    Réponses: 15
    Dernier message: 23/06/2009, 11h13
  2. Réponses: 93
    Dernier message: 15/04/2009, 15h34
  3. traitement d'un fichier txt
    Par arezki76 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 22/06/2007, 14h36
  4. [debutant] lecture d'un fichier txt de 10mo
    Par karamazov994 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 19/04/2005, 15h55

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