编程:通过HttpSessionListener监听接口实现对当前在线人数的监听
要求:
(1) 编写一个类实现HttpSessionListener接口,在该接口的public void sessionCreated(HttpSessionEvent se)方法中,声明一个变量用于记录在线的人数,并将其以属性的形式保存在ServletContext对象中。
(2) 在web.xml中对该监听器进行配置。
(3) 编写一个JSP页面,用于取得application对象中的属性值,并将其显示在页面上。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <html> <head> </head> <body> <% application.getAttribute("a"); %> </body> </html>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <listener> <listener-class>com.mars.SessionCount</listener-class> </listener> </web-app>
package com.mars; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class SessionCount implements HttpSessionListener { int a = 0; public void sessionCreated(HttpSessionEvent hse) { a++; ServletContext application = hse.getSession().getServletContext(); application.setAttribute("a",new Integer(a)); } public void sessionDestroyed(HttpSessionEvent red) { } }