服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - JavaWeb之监听器案例讲解

JavaWeb之监听器案例讲解

2021-11-08 12:13Z && Y Java教程

这篇文章主要介绍了JavaWeb之监听器案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

1. 监听器

实现一个监听器的接口;(有n种监听器)

1.1 编写一个监听器(实现监听器接口)

OnlineCountListener .java

package com.tian.listener;

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

//统计网站在线人数 : 统计session
public class OnlineCountListener implements HttpSessionListener {

    //创建session监听: 看你的一举一动
    //一旦创建Session就会触发一次这个事件!
    public void sessionCreated(HttpSessionEvent se) {
        ServletContext ctx = se.getSession().getServletContext();

        System.out.println(se.getSession().getId());

        Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");

        if (onlineCount == null) {
            onlineCount = new Integer(1);
        } else {
            int count = onlineCount.intValue();
            onlineCount = new Integer(count + 1);
        }

        ctx.setAttribute("OnlineCount", onlineCount);

    }

    //销毁session监听
    //一旦销毁Session就会触发一次这个事件!
    public void sessionDestroyed(HttpSessionEvent se) {
        ServletContext ctx = se.getSession().getServletContext();

        Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");

        if (onlineCount == null) {
            onlineCount = new Integer(0);
        } else {
            int count = onlineCount.intValue();
            onlineCount = new Integer(count - 1);
        }

        ctx.setAttribute("OnlineCount", onlineCount);

    }
    /*
    Session销毁:
    1. 手动销毁  getSession().invalidate();
    2. 自动销毁
	web.xml
	    
    <session-config>
        <!--1分钟后session自动销毁-->
        <session-timeout>1</session-timeout>
    </session-config>

     */
}

1.2 配置监听器

web.xml

    <!--注册监听器-->
    <listener>
        <listener-class>com.tian.listener.OnlineCountListener</listener-class>
    </listener>

1.3 启动服务器

JavaWeb之监听器案例讲解

JavaWeb之监听器案例讲解

JavaWeb之监听器案例讲解

到此这篇关于JavaWeb之监听器案例讲解的文章就介绍到这了,更多相关JavaWeb之监听器内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/I_r_o_n_M_a_n/article/details/115497346

延伸 · 阅读

精彩推荐