本文主要是介绍读书笔记(一)——Servet监听器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、主要的监听器
Servlet的监听器接口主要在javax.servlet和javax.servlet.http的包中。主要有以下接口:
(1) javax.servlet.ServletContextListener 它能够响应ServletContext生命周期事件,提供了ServletContext创建之后和ServletContext关闭之前会被调用的方法。
(2)javax.servlet.ServletContextAttributeListener 它能够响应ServletContext范围的属性添加、删除、替换事件。
(3)javax.servlet.http.HttpSessionListener 它能够响应HttpSession的创建、超时和失效事件。
(4)javax.servlet.http.HttpSessionAttributeListener 它能响应HttpSession范围的属性添加、删除、替换事件。
(5)javax.servlet.http.HttpSessionBindingListener 可以实现这个接口来保存HttpSession范围的属性,当有属性从HttpSession添加或删除时,HttpSessionBindingListener接口能够做出响应。
(6)javax.servlet.ServletRequestListener 它能够响应一个ServletRequest的创建或删除。
(7)javax.servlet.ServletRequestAttributeListener 它能响应ServletRequest范围的属性值添加、删除、修改事件。
(8)javax.servletAsynListener 一个用于异步操作的监听器
二、使用方式
(1)使用WebListener注解
(2)在部署描述文档中(web.xml),增加如下的listener元素
<listener>
<listener-class>xxxListener</listener-class>
</listener>
三、ServletContextListener
该监听器能够对ServletContext的创建和销毁做出响应。主要的方法包括以下两个:
void contextInitialized(ServletContextEvent event)
void contextDestroyed(ServletContextEvent event)
在入参ServletContextEvent中定义了一个访问ServletContext的getServletContext方法。
ServletContext getServletContext()
通过这个方法就可以获取到ServletContex。
四、HttpSessionListener
当一个HttpSession创建或者销毁时,容器都会通知所有的HttpSessionListener监听器,HttpSessionListener接口有两个方法:
void sessionCreated(HttpSessionEvent event)
void sessionDestroyed(HttpSessionEvent event)
这两个方法都可以接收到一个继承于java.util.Event的HttpSessionEvent对象。可以通过调用HttpSessionEvent对象的getSession方法来获取当前的HttpSession(HttpSession主要用于会话管理)。getSession方法如下:
HttpSession getSession()
五、总结
一般来说,很少直接使用Servet,在生产环境,更多是基于Spring MVC等框架进行开发,但学习Servlet是Java Web开发的基础。
参考书籍:《Servlet、JSP和Spring MVC初学指南》
这篇关于读书笔记(一)——Servet监听器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!