一。
Servlet中的監(jiān)聽器的分類
一類:監(jiān)聽三個域對象的創(chuàng)建和銷毀的監(jiān)聽器(三個)
二類:監(jiān)聽三個域對象的屬性變更(屬性添加尾组、移除、替換)的監(jiān)聽器(三個)
三類:監(jiān)聽HttpSession中JavaBean的狀態(tài)改變(鈍化、活化梁剔、綁定脯颜、解除綁定)的監(jiān)聽(兩個)
二哟旗、
ServletContext創(chuàng)建和銷毀
創(chuàng)建:在服務器啟動的時候,為每個Web應用創(chuàng)建單獨的ServletContext對象
銷毀:在服務器關閉的時候栋操,或者項目從Web服務器中移除的時候
三闸餐。
ServletContextListener監(jiān)聽器的方法
監(jiān)聽ServletContext對象的創(chuàng)建
? ? ? ? contextInitialized(ServletContextEvent sce)
監(jiān)聽ServletContext對象的銷毀
? ? ? ? contextDestroyed(ServletContextEvent sce)
四。
三類監(jiān)聽器
ServletContextAttributeListener
監(jiān)聽ServletContext對象中的屬性變更(屬性添加矾芙、移除舍沙、替換)的監(jiān)聽器
attributeAdded(ServletContextAttributeEvent event)
attributeRemoved(ServletContextAttributeEvent event)
attributeReplaced(ServletContextAttributeEvent event)
HttpSessionAttributeListener
監(jiān)聽HttpSession對象中的屬性變更(屬性添加、移除剔宪、替換)的監(jiān)聽器
attributeAdded(HttpSessionBindingEvent event)
attributeRemoved(HttpSessionBindingEvent event)
attributeReplaced(HttpSessionBindingEvent event)
ServletRequestAttributeListener
監(jiān)聽ServletRequest對象中的屬性變更(屬性添加拂铡、移除壹无、替換)的監(jiān)聽器
attributeAdded(ServletRequestAttributeEvent srae)
attributeRemoved(ServletRequestAttributeEvent srae)
attributeReplaced(ServletRequestAttributeEvent srae)
五。
Servlet規(guī)范中中定義了兩個特殊的監(jiān)聽的接口感帅,來幫助Java類了解自己在Session域中的狀態(tài)斗锭,分別是:HttpSessionBindingListener接口
HttpSessionActivationListener接口實現(xiàn)了這兩個接口的類,是不需要在web.xml中進行配置的
六留瞳。
配置完成Session的序列化和反序列化
Context標簽可以配置在:
Tomcat/conf/context.xml:所有Tomcat下虛擬主機和虛擬目錄下的工程都會序列化Session
Tomcat/conf/Catalina/localhost/context.xml:只有l(wèi)ocalhost虛擬主機下的所有項目會序列化Session
工程/META-INF/context.xml:只有當前工程才會序列化Session