System.out.println("MyServletContextListener....contextInitialized...");
//监控项目的启动(使用ServletContextListener来ServletContext对象的初始化)
//2)获取服务器时间:new Date();
//3)每一秒更新一次:定时器Timer
//4)给定时器设置定时任务
//获取定时器
Timer timer = new Timer();
//调用定时器的设置定时任务的方法
//firstTime 0:立即执行
//period:间隔多长时间执行一次,1000
timer.schedule(new TimerTask() {
@Override
publicvoid run() {
//在run方法中,书写,要执行的任务
//过时的方法一般不推荐使用,但是,过时的方法,jdk不会删除它的效果。
//当前显示时间,可以使用服务器中的时间——java代码,new Date();
//当前显示时间——javascript代码,new Date();
//javascript代码,是在浏览器运行,客户端的时间,一般是不使用客户端的时间
//业务:整点秒杀
//获取的是服务器时间,用户,是没有办法控制
//获取客户端时间,时间有客户控制,时间是不对的
//一般尊循的原则,只要可以控制在服务器的,绝对不给客户端
System.out.println(new Date().toLocaleString());
}
}, 0, 1000);
}
@Override
publicvoid contextDestroyed(ServletContextEvent sce) {
System.out.println("MyServletContextListener....contextDestroyed...");
}
}
效果:

HttpSessionListener定义(API截图):


代码演示:
package cn.itcast.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
publicclassMyHttpSessionListenerimplements HttpSessionListener{
@Override
publicvoid sessionCreated(HttpSessionEvent se) {
System.out.println("MyHttpSessionListener....sessionCreated....");
}
@Override
publicvoid sessionDestroyed(HttpSessionEvent se) {
System.out.println("MyHttpSessionListener....sessionDestroyed....");
}
}
配置文件:
<listener>
<listener-class>cn.itcast.listener.MyHttpSessionListener</listener-class>
</listener>
Invalidate.jsp页面代码:

效果截图:

用户积累:优惠,折扣,广告,扫码关注,想所有QQ用推送一条消息,给所有支付宝用户发送消息。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-47577-12.html
低智商
谋求战略转折点