JSP监听器

什么是监听器
监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext、HttpSession和ServletRequest等域对象的创建和销毁事件,它还可以监听域对象的属性发生修改的事件,可以在事件发生前或者发生后做一些必要的处理。

在Servlet中要创建监听器类首先需要新建一个类并继承相应的监听器接口,实现接口中定义的方法,然后在web.xml文件中注册相应的监听器即可。如果一个web.xml文件中注册了多个监听器,则监听器的启动顺序按照在web.xml中的注册顺序启动。如果一个web.xml文件中同时定义了监听器、过滤器和Servlet,那么web容器会先加载监听器、再加载过滤器最后加载Servlet。


对WEB中的操作进行监听(在web中可以对application、session和request三种操作进行监听)
1. 对 application 进行监听 ( 修改的时候不要直接拿值,通过 servletContext 去拿值)
n 创建监听类 (注意介绍一下 ServletContextEvent )
@WebListener

public class ListenerDemo implements ServletContextListener {
  public void contextDestroyed ( ServletContextEvent arg0) {
  System. out .println ("application 挂了!!! ");
}
  public void contextInitialized ( ServletContextEvent arg0) {
  System. out .println ("application 初始化了!!! ");
 
}
}

注册:
<listener>
 <listener-class> cn.web.listener.ListenerDemo </listener-class>
</listener>
监听application的属性
创建监听类

public class ListenerAbttriDemo implements ServletContextAttributeListener {

  public void attributeAdded(ServletContextAttributeEvent arg0) {

  System.out.println("增加属性:"+arg0.getName()+"="+arg0.getValue());

  //System.out.println("增加属性:");

  }

  public void attributeRemoved(ServletContextAttributeEvent arg0) {

  System.out.println("删除属性:"+arg0.getName()+"="+arg0.getValue());

  }

  public void attributeReplaced(ServletContextAttributeEvent arg0) {

  System.out.println("修改属性:"+arg0.getName()+"="+arg0.getValue());

  }

}

注册:

<listener>

  <listener-class>cn.web.listener.ListenerAbttriDemo</listener-class>

</listener>

修改增加、修改和删除属性的操作:

 <%

   this.getServletContext().setAttribute("name","haoren");

      this.getServletContext().setAttribute("name","haoren");

      this.getServletContext().removeAttribute("name");

%>

对session的监听

HttpSessionListener
HttpSessionAttributeListener
HttpSessionBindingListener (不用注册)

对request的监听

ServletRequestAttributeListener

ServletRequestListener

Web.xml的书写的顺序:过滤器、监听器、servlet

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值