監聽器的原理:
被監聽對象→對象擁有的事件→捕獲到事件變化→監聽器捕捉事件→監聽器處理該事件
Web服務器上有4個范圍,拋開page范圍,還有request范圍,session范圍,application范圍。這些范圍的對象什麼時候創建,什麼時候銷毀,什麼時候往范圍中存放了數據,什麼時候替換了存放的數據,都可以使用監聽器來監聽到。
servlet監聽主要有:
1,監聽servletContext域對象
2,監聽HttpSession域3,監聽HttpRequest域對象。這裡面又有8大監聽接口。
作用:
監聽器是一個實現特定接口的普通java程序,這個程序專門用於監聽另一個java對象的方法調用或屬性改變,當被監聽對象發生上述事件後,監聽器某個方法將立即執行。
配置:
1.讓我們來看看<listener>的組織結構。很簡答,它只是指定了一個寫好的監聽器java類。加上對這個監聽器簡單的描述,命名。
2.ServletContext監聽,自定義的監聽器需要實現ServletContextListener監聽器。
3.為了測試裡面的監聽關閉容器的方法,故意拋出一個致命錯誤,導致容器啟動後,立刻掛掉。在web.xml故意把過濾器類名不指定。
4. spring中org.springframework.web.context.ContextLoaderListener類監聽器也是實現了ServletContextListener這個接口的。作用是加載spring的配置文件。一定 要看看源碼。要使用spring的監聽器,主要一定要導入對應的jar包。
5.
另一個常用的是spring中配置log4j日志。日志在我們寫程序調試的時候很重要,所以一定要配置好。那麼還有其他好處:
1.動態的改變記錄級別和策略,不需要重啟Web應用。
2.把log文件定在 /WEB-INF/下任意目錄, 而不需要寫絕對路徑。