Servlet 监听器

在Servle规范中定义了多种类型的监听器,它们用于监听事件源分别为ServletContext,HttpSession和ServletRequest这三个域对象。        Servlet规范针对这三个对象上的操作,又把这多种类型的监听器划分为三种类型。        1、监听域对象创建和销毁的事件监听器

        2、监听域对象中属性的增加和删除的事件监听器

       3、监听绑定到HttpSession域中的某个对象的状态的事件监听器

         servletContext域的对象创建和销毁                     创建时调用方法:contextDestroyed                     销毁时调用方法:contextInitialized

        例如

                public class MyServletContextListener implements ServletContextListener {

			public void contextDestroyed(ServletContextEvent arg0) {

				System.out.println("context销毁!!!");
			}

			public void contextInitialized(ServletContextEvent arg0) {
				System.out.println("context创建!!!");
			}

		}
		//注册监听器
		<listener>
			<listener-class>MyServletContextListener</listener-class>
		</listener>

出现的效果如下 :   

            启动服务器的时候context被创建
                关闭服务器的时候context被销毁


import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class SendMailListener implements ServletContextListener {

	private String year = null;         //时间自己可以去设置
	private String month = null;
	private String day = null;
	private String hour =  null;
	private String min = null;
	private String mec = null;
	
	public void contextDestroyed(ServletContextEvent sce) {
		// TODO Auto-generated method stub

	}

	public void contextInitialized(ServletContextEvent sce) {
		
		Calendar c = Calendar.getInstance();
		c.set(year, month,day, hour, min, mec);
		
		Timer timer = new Timer();
		timer.schedule(new TimerTask(){
			public void run() {
				System.out.println("定时执行的方法");
			}
		}, c.getTime());
	}

}




    监听HttpSession域对象创建和销毁
        1、HttpSessionListener接口用于监听HttpSessionr wbvft qiva
        2、创建一个Session时,sessionCreated(HttpSessionEven se)方法将会被调用。
        3、销毁一个Session时,SessionDestroyed(HttpSessionEvent se)方法将会被调用。

        import javax.servlet.http.HttpSessionEvent;
	import javax.servlet.http.HttpSessionListener;

	public  class MyServletContextListener implements HttpSessionListener {

		public void sessionCreated(HttpSessionEvent se) {
			System.out.println("HttpSession创建");
		}
		public void sessionDestroyed(HttpSessionEvent se) {
			System.out.println("HttpSession销毁");
		}
	}


当我们去访问这个会话的时候,就会去创建一个Session对象,

会话的时间一过,这相Session就会这被销毁





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值