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 :

Exécuter du traitement avant l'affichage de la première page


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Par défaut Exécuter du traitement avant l'affichage de la première page
    Bonjour,

    J'utilise Struts 1.3.10.
    Mon besoin est le suivant :

    A l'initialisation de mon application, j'ai besoin de faire des traitements.
    Ces traitements doivent avoir lieu avant l'affichage de ma première page.
    Est ce que struts permet de faire ceci ?
    Par exemple exécuter une action sans avoir de jsp associé.

    D'avance merci pour vos conseils.

  2. #2
    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
    Billets dans le blog
    1
    Par défaut
    Il existe bien un moyen mais tu n'as pas besoin de struts, une simple servlet permet de faire ça (rien ne t'empêche de lui faire appeler une action struts si ça te chante)
    Voici le principe
    1) web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
     <servlet>
      <servlet-name>AutomaticStart</servlet-name>
      <servlet-class>com.clemessy.tools.AutomaticStart</servlet-class>
      <init-param>
       <param-name>startHibernate</param-name>
       <param-value>1</param-value>
      </init-param>
      <load-on-startup>2</load-on-startup>
     </servlet>
    ...
    2) la servlet
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    package com.clemessy.tools;
     
    import com.clemessy.hibernate.utilities.HibernateUtils;
    import javax.servlet.ServletConfig;
    import javax.servlet.http.HttpServlet;
    import org.apache.log4j.Logger;
    import com.clemessy.thead.CheckApplicationLocksThread;
     
    /**
     * Démarrage du serveur 
     */
    public class AutomaticStart extends HttpServlet
    {
        private static final long serialVersionUID = 1L;
        private static Logger logger = Logger.getLogger(AutomaticStart.class);
     
        public void init(ServletConfig config)
        {
            if ( config.getInitParameter("startHibernate").equalsIgnoreCase("1") )
            {
                try
                {
                    logger.debug("-----------------------------------------------------------");
                    HibernateUtils.currentSession();
                    logger.debug("Démarrage automatique OK");
                }
                catch (Throwable t)
                {
                    logger.error("Erreur du démarrage automatique : " + t.getMessage());
                }
                finally
                {
                    logger.debug("-----------------------------------------------------------");
                    HibernateUtils.closeSession();
                }
            }
     
            try
            {
                CheckApplicationLocksThread thread1 = new CheckApplicationLocksThread();
                thread1.start();
            }
            catch (Exception e) 
            {
                logger.error("Erreur dans CheckApplicationLocksThread : " + e.getMessage());
            }
        }
    }
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Sinon, tu peux implémenter l'interface ServletContextListener et la méthode contextInitialized.
    Il faudra aussi déclarer ce listener dans ton web.xml.

  4. #4
    Expert confirmé

    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
    Par défaut
    Tu peux également suivre l'astuce décrite dans la FAQ.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 31
    Par défaut
    Merci pour les 3 solutions!

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

Discussions similaires

  1. affichage de la première page d'un multipage
    Par xadep dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/09/2009, 12h29
  2. Affichage de la première page dans le viewer
    Par GP77 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 16/02/2007, 13h56
  3. Exécuter un traitement à des dates précises
    Par Commodore dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 08/08/2006, 09h42
  4. Réponses: 2
    Dernier message: 25/05/2006, 19h56
  5. Réponses: 2
    Dernier message: 02/11/2004, 06h52

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