Je désire faire une action QUE quand l'application est lancée la première fois dans tomcat.
Quelle méthode dois-je implémenter pour cela ?
Merci.![]()
Je désire faire une action QUE quand l'application est lancée la première fois dans tomcat.
Quelle méthode dois-je implémenter pour cela ?
Merci.![]()
bonjour,
peux-tu être plus précis....
tu souhaites :
1) l'action est exécutée au démarrage de Tomcat => servlet d'initialisation à configurer dans le web.xml (load-on-startup = 0).. cf. ici
2) l'action est exécutée au 1er appel d'une action sur ton serveur d'application :
faire hériter toutes tes actions d'une action à toi, et dans la méthode "execute", tu fais un test par rapport à un booléan qui est présent ou non dans le scope Application... et tu fais ce que tu dois faire "une fois"....
3) si l'action que tu souhaites exécuter est une action struts, tu dois faire en sorte que te servlet démarre après la servlet de struts... mais même en faisant ça, je ne suis pas sûr que ça fonctionne.
Personnellement, je trouve la solution de la servlet d'initialisation plus simple mais en fait, tout dépend de ce que tu veux exécuter au lancement de l'application.![]()
Suite à vos conseils, je viens d'ajouter ce code dans l'Action père à toutes les autres Action du prg :
Mais à chaque fois que l'appli est lancée, les fichiers sont effacés.
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 private static boolean initP = false; public void init() { try { if (! initP) { Fichier.supprimeFichiersTmp(); initP = true; } } catch (Exception e) { // ne rien faire } }
Ce que je veux, c'est l'effacement des fichiers QUE QUAND l'appli est lancée la première dans tomcat.
Comment faire cela ?
Merci.![]()
Vu le besoin, il n'est pas utile de passer par une Action Struts.
Donc, la solution de créer une servlet d'initialisation est je pense la plus adaptée :
Exemple de définition de la servlet d'initialisation dans le web.xml :
avec un load-on-startup différent de celui de l'ActionServlet de Struts.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <servlet> <servlet-name>InitServlet</servlet-name> <servlet-class>nomDuPackage.InitServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
Exemple de servlet d'initialisation :
EDIT : là, j'ai été doublement grillée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class InitServlet extends HttpServlet { public void init() { Fichier.supprimeFichiersTmp(); } }![]()
Partager