【叶凡网络】关于Servlet Context的范围
- 2014-01-17 09:45:03 | 新闻来源:叶凡网络 | 点击量:590
注意就是一个"全局变量"被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,再做某事就行了.
ServletContextAttributeListener:
上一篇:【叶凡网络】美国解除政府关门威胁参议院通过财政预算案
下一篇:【叶凡网络】国家主席会见海湾阿拉伯国家合作委员会代表团