结构目录:
ListenerDemo.java:
package com.li;
import java.util.ArrayList;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class ListenerDemo implements ServletContextAttributeListener,
ServletContextListener, HttpSessionListener,
HttpSessionAttributeListener {
private ServletContext application = null;
public void attributeAdded(ServletContextAttributeEvent arg0) {
// TODO Auto-generated method stub
}
public void attributeRemoved(ServletContextAttributeEvent arg0) {
// TODO Auto-generated method stub
}
public void attributeReplaced(ServletContextAttributeEvent arg0) {
// TODO Auto-generated method stub
}
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent sc) {
// TODO Auto-generated method stub
System.out.println("上下文初始化");
application = sc.getServletContext();
application.setAttribute("name", new ArrayList<String>());
}
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
}
public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
}
public void attributeAdded(HttpSessionBindingEvent se) {
// TODO Auto-generated method stub
ArrayList list = (ArrayList) application.getAttribute("name");
list.add(se.getValue());
application.setAttribute("name", list);
}
public void attributeRemoved(HttpSessionBindingEvent se) {
// TODO Auto-generated method stub
}
public void attributeReplaced(HttpSessionBindingEvent se) {
// TODO Auto-generated method stub
}
}
web.xml:
<listener>
<listener-class>com.li.ListenerDemo</listener-class>
</listener>
index.jsp:
<body>
<%
String name = request.getParameter("name");
if (name != null) {
session.setAttribute("name", name);
}
%>
<form action="index.jsp" method="post">
用户名:
<input type="text" name="name" />
<input type="submit" value="登陆" />
<br>
</form>
<hr>
在线人数:
<br>
<%
List list = (List) application.getAttribute("name");
for (Iterator iter = list.iterator(); iter.hasNext();) {
%>
<li><%=iter.next()%></li>
<%
}
%>
</body>