java - Comment exécuter le programme d'initialisation du projet au démarrage de Tomcat
我想大声告诉你
我想大声告诉你 2017-07-05 10:02:11
0
4
1081

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

我想大声告诉你
我想大声告诉你

répondre à tous(4)
洪涛

Configurez les éléments suivants dans web.xml

<servlet>  
   <servlet-name>MyServlet</servlet-name>  
   <servlet-class>org.cai.MyServlet</servlet-class>  
   <strong><load-on-startup>0</load-on-startup></strong>  
  </servlet> 
某草草

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 :

  1. Comme @treeandgrass l'a dit, réécrivez une certaine annotation Servlet init(),但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet

  2. );
  3. implémenter init(),配在web.xml中(或者加@WebFilterannotation pour un certain filtre);

  4. Implémentez l'interface ServletContextListener et implémentez les contextInitialized(),配在web.xml中(或者加@WebListenerannotations).

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().

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal