Étapes d'utilisation des listeurs Java : 1. Créez une classe d'implémentation en implémentant une interface spécifique (peut implémenter plusieurs interfaces d'écoute). 2. Utilisez directement l'annotation @WebListener pour modifier la classe d'implémentation et configurer la classe d'implémentation pour qu'elle devienne un écouteur ou configurez la classe d'implémentation pour qu'elle devienne un écouteur via web.xml.
Les listers Java désignent des auditeurs, des classes d'implémentation utilisées pour surveiller les événements internes des applications Web. Vous pouvez surveiller le début et la fin des sessions utilisateurs, l'arrivée des requêtes des utilisateurs, etc. Lorsqu'un événement survient, la méthode interne du listener sera rappelée.
Étapes pour utiliser Listener
Créer une classe d'implémentation en implémentant une interface spécifique (peut implémenter plusieurs interfaces d'écoute)
Configurer la classe d'implémentation pour qu'elle devienne un écouteur, Il existe deux méthodes de configuration :
Utiliser directement l'annotation @WebListener pour modifier la classe d'implémentation
Configurer via web.xml, le code est le suivant :
<listener> <listener-class>com.zrgk.listener.MyListener</lisener-class> </listener>
Surveillance des événements Web couramment utilisée ServletContextListener
1 ServletContextListener
Cette interface est utilisée pour surveiller le démarrage et l'arrêt des applications Web
<.>Deux méthodes de cette interface :contextInitialized(ServletContextEvent event); // 启动web应用时调用 contextDestroyed(ServletContextEvent event); // 关闭web应用时调用
Comment obtenir l'objet application :
ServletContext application = event.getServletContext();
Exemple :
@WebListener public class MyServetContextListener implements ServletContextListener{ //web应用关闭时调用该方法 @Override public void contextDestroyed(ServletContextEvent event) { ServletContext application = event.getServletContext(); String userName = application.getInitParameter("userName"); System.out.println("关闭web应用的用户名字为:"+userName); } //web应用启动时调用该方法 @Override public void contextInitialized(ServletContextEvent event) { ServletContext application = event.getServletContext(); String userName = application.getInitParameter("userName"); System.out.println("启动web应用的用户名字为:"+userName); } }
2 . ServletContextAttributeListener
Cette interface est utilisée pour écouter les modifications des attributs dans la portée ServletContext (application). Deux méthodes de cette interface :attributeAdded(ServletContextAttributeEvent event);//当把一个属性存进application时触发 attributeRemoved(ServletContextAttributeEvent event);//当把一个属性从application删除时触发 attributeReplaced(ServletContextAttributeEvent event);//当替换application内的某个属性值时触发
ServletContext application = event.getServletContext();
Exemple :
@WebListener public class MyServletContextAttributeListener implements ServletContextAttributeListener{ //向application范围内添加一个属性时触发 @Override public void attributeAdded(ServletContextAttributeEvent event) { String name = event.getName();//向application范围添加的属性名 Object val = event.getValue(); //向application添加的属性对应的属性值 System.out.println("向application范围内添加了属性名为:"+name+",属性值为:"+val+"的属性"); } //删除属性时触发 @Override public void attributeRemoved(ServletContextAttributeEvent event) { // ... } //替换属性值时触发 @Override public void attributeReplaced(ServletContextAttributeEvent event) { // ... } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!