Auditeur
Classification et nature de trois objets de domaine
L'écouteur est déclenché lorsque les données partagées de l'objet de portée globale changent
Définissez d'abord un servlet pour répondre à la demande, mettez à jour les données partagées dans la portée globale pour déclencher l'écouteur
classe publique OneServlet étend HttpServlet { @Override protected void doGet (HttpServletRequest req, HttpServletResponse resp) lève ServletException, IOException { ServletContext app = req.getServletContext (); app.setAttribute ( " clé " , 100 ); app.setAttribute ( " clé " , 200 ); app.removeAttribute ( " clé " ); } }
Utilisation de l'auditeur
@WebListener () publique classe OneListener les outils ServletContextListener, ServletContextAttributeListener { / * * * ServletContextListener responsable de la surveillance * application est appelée initialisation * @param SCE * / @Override publique vide contextInitialized (SCE ServletContextEvent) { système. OUT .println ( « Rôle mondial L'objet de domaine est initialisé " ); } / * * * ServletContextListener est responsable de la surveillance * Appelé lorsque l'application est détruite * @param sce * / @Override public voidcontextDestroyed (ServletContextEvent sce) { System. out .println ( " L'objet de portée globale est détruit " ); } / * * * ServletContextAttributeListener est responsable de la surveillance * L'application déclenche un appel lorsque de nouvelles données partagées sont ajoutées * @param scae * / @Override public void attributeAdded (ServletContextAttributeEvent scae) { System. out .println ( " nouvelles données partagées " ); } / * * * ServletContextAttributeListener est responsable de la surveillance * déclenchée lorsque l'application met à jour les données partagées * @param scae * / @Override public void attributeReplaced (ServletContextAttributeEvent scae) { System. Out .println ( " Update shared data " ); } / * * * ServletContextAttributeListener est responsable de la surveillance * déclenché lorsque les données partagées de l'application sont supprimées * @param scae * / @Override public void attributeRemoved (ServletContextAttributeEvent scae) { System. Out .println ( " Supprimer les données partagées " ); } }
écouteur d'enregistrement web.xml
< listener > < listener-class > com.bjpowernode.listener.OneListener </ listener-class > </ listener > < servlet > < servlet-name > OneServlet </ servlet-name > < servlet-class > com.bjpowernode.controller .OneServlet </ servlet-class > </ servlet > < servlet-mapping > < servlet-name > OneServlet </ servlet-name > <modèle d'url > /one.do </ modèle d'url > </ mappage de servlet >