servlet九大内置对象和监听器

时间:2023-03-10 06:30:08
servlet九大内置对象和监听器
对象名称 类型 描述 作用域
request javax.servlet.ServletRequest 表示一次用户请求 Request
response javax.servlet.SrvletResponse 表示一次响应 Page
session javax.servlet.http.HttpSession  表示一次会话 Session
application javax.servlet.ServletContext 表示服务器上下文 Application
out javax.servlet.jsp.JspWriter  可以用其输出信息 Page
page javax.lang.Object 表示一个页面对象 Page
config javax.servlet.ServletConfig 获取配置文件信息 Page
exception javax.lang.Throwable 表示异常对象 Page
pageContext javax.servlet.jsp.PageContext 表示页面上下文环境(JSP) Page

上面的就是Servlet内置的九大对象的简单总结,接下来就是监听器,监听器就是对内置对象的状态或属性变化进行监听并且做出反应的特殊Servlet,也需要在web.xml文件中对

监听器进行相关配置。内置对象的状态有两种:产生、销毁,而对象的属性变化指的是属性的增加、删除、修改。

Request监听器:

首先需要实现一个接口:"javax.servlet.ServletRequestListener"

然后重写两个方法:

public void requestInitialized(ServletRequestEvent arg0);  对Request对象的产生状态进行监听

public void requestDestroyed(ServletRequestEvent arg0);对Request对象的销毁状态进行监听

监听器的配置:

<listener>

  <listener-class>包名.类名</listener-class>

</listener>

对Request对象的属性进行监听:

首先实现接口:"ServletRequestAttributeListener"

然后重写方法:

public void attributeAdded(ServletRequestAttributeEvent event);   //增加属性时触发该方法

public void attributeRemoved(ServletRequestAttributeEvent event);   //删除属性时触发该方法

public void attributeReplaced(ServletRequestAttributeEvent event);  //更新属性时触发该方法

Session监听器:

首先需要实现一个接口:"javax.servlet.http.HttpSessionListener"

然后重写方法:

public void sessionCreated(HttpSessionEvent event);  //对Session对象的产生状态进行监听

public void sessionDestroyed(HttpSessionEvent event);   //对Session对象的销毁状态进行监听

监听器的配置:

<listener>

  <listener-class>包名.类名</listener-class>

</listener>

对Session对象的属性进行监听:

首先实现接口:"HttpSessionAttributeListener"

然后重写方法:

public void attributeAdded(ServletRequestAttributeEvent event);   //增加属性时触发该方法

public void attributeRemoved(ServletRequestAttributeEvent event);   //删除属性时触发该方法

public void attributeReplaced(ServletRequestAttributeEvent event);  //更新属性时触发该方法

Application监听器:

首先需要实现一个接口:"javax.servlet.ServletContextListener"

然后重写方法:

public void contextInitialized(ServletContextEvent sce);   对Application对象的产生状态进行监听

public void contextDestroyed(ServletContextEvent sce);   对Application对象的销毁状态进行监听

对Application对象的属性进行监听:

首先实现接口:"ServletContextAttributeListener"

然后重写方法:

public void attributeAdded(ServletRequestAttributeEvent event);   //增加属性时触发该方法

public void attributeRemoved(ServletRequestAttributeEvent event);   //删除属性时触发该方法

public void attributeReplaced(ServletRequestAttributeEvent event);  //更新属性时触发该方法