1、简单介绍一下监听器
所谓监听器就是监听事件,然后针对相应的事件进行处理
监听器举例:ServletcontextListener、HttpSessionListener、HttpSessionAttributeListener
2、设计一个统计在线人数的实例
import java.util.LinkedList;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class OnlineListener implements HttpSessionAttributeListener,
ServletContextListener, HttpSessionListener {
private ServletContext application=null;
@Override
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
HttpSession hs=arg0.getSession();
String user=(String) hs.getAttribute("username");
LinkedList<String> online = (LinkedList<String>) application.getAttribute("online");
online.remove(user);
application.setAttribute("online", online);
}
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
application=arg0.getServletContext();
application.se