支援注解的Servlet3.0監聽器
Servlet3.0中的監聽器跟之前2.5的差别不大,唯一的差別就是增加了對注解的支援。在3.0以前我們的監聽器配置都是需要配置在web.xml檔案中的。在3.0中我們有了更多的選擇,之前在web.xml檔案中配置的方式還是可以的,同時我們還可以使用注解進行配置。對于使用注解的監聽器就是在監聽器類上使用@WebListener進行标注,這樣Web容器就會把它當做一個監聽器進行注冊和使用了。
在這篇文章中我主要想講的還是Servlet3.0中可以使用注解來配置監聽器,對于監聽器的其它内容我不想做過多的涉及。
對于使用注解的監聽器我想挑兩類型監聽器來舉一個例子,一類是對Session的監聽,一類是對ServletContext的監聽。對于Session的監聽器主要有HttpSessionListener和HttpSessionAttributeListener。HttpSessionListener可以監聽HttpSession的建立跟銷毀,而HttpSessionAttributeListener則是對session中屬性的監聽,它可以監聽到session新增屬性、移除屬性和屬性值被替換時。對于ServletContext的監聽器有ServletContextListener和ServletContextAttributeListener。ServletContextListener可以監聽到ServletContext的建立和銷毀,而ServletContextAttributeListener可以監聽到ServletContext中屬性的新增、移除和屬性值的替換。
為了文章的完整性,下面将給出上面監聽器對應的在web.xml中配置的方式。