监听器HttpsessionListerner和servletcontextlistener

统计访问本网站的ip 、时间、 设备型号

(ctrl+i快速生成监听器方法)

<%
getServletConfig().getServletContext().setAttribute("ip",request.getRemoteAddr());//设置ip放入application中
application.setAttribute("time", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
application.setAttribute("form",request.getHeader("User-Agent"));//取得访问设备信息
%>
public class Count implements HttpSessionListener, HttpSessionAttributeListener {
public void sessionCreated(HttpSessionEvent se) {
    ServletContext ctx=se.getSession().getServletContext();//相当于application
    System.out.println("有人上线访问:"+ctx.getAttribute("ip")+""+ctx.getAttribute("time"));
    System.out.println(ctx.getAttribute("form"));
    System.out.println("--------------------------------------------------");

    count++;
}}

计时任务实现

//计时监听器,定时执行任务
@WebListener
public class MyTime implements ServletContextListener {
private Timer timer=null;
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("s---------------s");
         timer = new Timer(true);
        System.out.println("计时器启动");
        sce.getServletContext().log("定时器启动");
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.printf("%tF %<tT",System.currentTimeMillis());
            }
        },1000,5000);
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
       timer.cancel();
       sce.getServletContext().log("销毁");
    }
}

Servlet Listener 监听器

三个域对象:request session servletContext

Servlet 与application

相同的是都是保存容器的全局信息、在jsp中application==getServletcontext,可以相互读取。Application是servletcontext在jsp应用的封装。

不同点:application只能在jsp页面中使用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值