Lorsque Tomcat a démarré, la console a généré beaucoup d'informations. Les informations ont montré que lorsque Tomcat a démarré, de nombreux fichiers de configuration du projet ont été chargés et la méthode d'initialisation du projet a été appelée, mais je ne sais pas comment elle a été appelée. Où s’appelait-il ? Dois-je configurer quelque chose avec Tomcat ?
PS : projet javaweb
Configurez les éléments suivants dans web.xml
Recherchez Listener dans web.xml
Ce dont l'affiche a besoin, c'est que le système comprenne le cycle de vie de Servlet. Lorsque vous implémentez un servlet, laquelle de ses méthodes sera appelée au démarrage de l'application Web. Il y a trop d'articles à ce sujet :
http://www.jianshu.com/p/1d50...
http://www.runoob.com/servlet...
Il existe trois manières :
Comme @treeandgrass l'a dit, réécrivez une certaine annotation Servlet
init()
,但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet
implémenter
init()
,配在web.xml中(或者加@WebFilter
annotation pour un certain filtre);Implémentez l'interface ServletContextListener et implémentez les
contextInitialized()
,配在web.xml中(或者加@WebListener
annotations).Parmi ces trois méthodes, j'utilise le plus souvent la dernière (ServletContextListener) (je n'utilise généralement cette méthode que lorsque j'utilise Spring sur le Web), car elle a toujours priorité sur l'exécution de Filter et de Servlet, et n'implémente pas de fonctions spécifiques. et le filtre sont mélangés.
Le travail d'initialisation comprend :
Initialisation du pool de threads, du pool de connexions à la base de données et du pool de connexions réseau
Chargement du conteneur IoC
Démarrer la minuterie
Autres objets qui doivent être initialisés
La plupart des travaux d'initialisation ci-dessus doivent être fermés lorsque le serveur Web s'arrête, et ces tâches doivent être écrites en
contextDestroyed()
.