名扬数据:关于Servlet Context的范围

注意也就是一个"全局变量"被Add第一次set,这个监听器主要监听ServletContext对象在setA ttribut和removeA ttribut事件.replac对已有的变量重新赋值)和remov时候.随应用消失而消失主要有两个方法对一个应用进行全局监听.随应用启动而启动.:

contextDestroiServletContextEvent应用关闭的时候调用;contextInitiServletContextEvent应用启动的时候调用,启动的时候干,一般来说对"全局变量"初始化,这个监听器主要用于一些随着应用启动而要完成的工作,也就是很多人说的想在容器。如

publicvoidcontextInitiServletContextEvevent{ 

ServletContexsc=event.getServletContext; 

valu; sc.setA ttributname.

}

就是contextInitiServletContextEvevent方法中实现一个Timer,以后你就可以在任何servlet中getServletContext.getA ttributname;最喜欢用它来做守护性工作.然后就让应用在每次启动的时候让这个Timer工作:

顺序代码:

publicvoidcontextInitiServletContextEvevent{ 

timer=newTimer; 

timer.schedulnewTimerTask{ 

publicvoidrun{ 

//doanithings 

0,}.时间间隔); 

}

每隔多久做一次事或在什么时间做一次事,有人说Timer只能规定从现在开始的多长时间后.那我想在每月1号或每天12点做一项工作如何做呢?然后每次判断一下当时是不是那个时间段就行了啊,只要设一个间隔.比如每月一号做,那你时间间隔设为天,即24小时一个循环,然后在run方法中判断当时日期newDate.getDat==1就行了啊.如果是每天的12点,那你时间间隔设为小时,然后在run中判断newDate.getHour==12,再做某事就行了.