淘先锋技术网

首页 1 2 3 4 5 6 7

在Java Web应用中,我们经常需要实现监听某些事件的功能。今天我们就来看一下如何实现监听并显示人员名单和人数。

首先,我们需要定义一个监听器。这个监听器可以监听ServletContext的attributeAdded和attributeRemoved事件,即ServletContext中的属性变化事件。

public class MyListener implements ServletContextAttributeListener {
public void attributeAdded(ServletContextAttributeEvent event) {
// 监听到属性添加事件
if ("person".equals(event.getName())) {
ServletContext context = event.getServletContext();
HashSet personSet = (HashSet) context.getAttribute("personSet");
personSet.add(event.getValue());
int personNum = personSet.size();
context.setAttribute("personNum", personNum);
}
}
public void attributeRemoved(ServletContextAttributeEvent event) {
// 监听到属性删除事件
if ("person".equals(event.getName())) {
ServletContext context = event.getServletContext();
HashSet personSet = (HashSet) context.getAttribute("personSet");
personSet.remove(event.getValue());
int personNum = personSet.size();
context.setAttribute("personNum", personNum);
}
}
}

接下来,在Web.xml中配置该监听器。

<listener>
<listener-class>com.xxx.MyListener</listener-class>
</listener>

最后,我们在JSP中使用JSTL标签库来展示人员名单和人数。

<c:forEach var="person" items="${personSet}">
${person}<br/>
</c:forEach>
当前人数:${personNum}

以上就是Java Web监听显示人员名单和人数的实现方法。