Servlet Listener 实例

来源:互联网 发布:mac ps中文版破解版 编辑:程序博客网 时间:2024/05/18 18:42


ServletContextListener


package com.ffcs.wlan.listener;import javax.annotation.Resource;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import org.apache.log4j.Logger;import org.springframework.context.ApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;import com.ffcs.wlan.service.InitRedisService;/** * 在系统启动时,初始化redis数据库 *  * @author hugsh *  */public class InitListener implements ServletContextListener {private static final Logger logger = Logger.getLogger(InitListener.class);private static ApplicationContext ctx = null;//@Resource//private InitRedisService initRedisService;public InitListener() {}public void contextInitialized(ServletContextEvent evt) {//logger.info("项目启动,开始初始化内存数据库");//ctx = WebApplicationContextUtils.getWebApplicationContext(evt.getServletContext());//InitRedisService initRedisService = (InitRedisService) ctx.getBean("initRedisService");//logger.info("redis:初始化hcode");//initRedisService.initHode();}public void contextDestroyed(ServletContextEvent evt) {}//public void setInitRedisService(InitRedisService initRedisService) {//this.initRedisService = initRedisService;//}}


OnlineListener


package com.ffcs.wlan.listener;import javax.servlet.ServletContextAttributeEvent;import javax.servlet.ServletContextAttributeListener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.ServletRequestAttributeEvent;import javax.servlet.ServletRequestAttributeListener;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;import javax.servlet.http.HttpSessionActivationListener;import javax.servlet.http.HttpSessionAttributeListener;import javax.servlet.http.HttpSessionBindingEvent;import javax.servlet.http.HttpSessionBindingListener;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;import org.apache.log4j.Logger;import org.springframework.context.ApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;/** * 监听在线用户上线下线 *  * @author hugsh *  */public class OnlineListener implements ServletContextListener, ServletContextAttributeListener, HttpSessionListener, HttpSessionAttributeListener, HttpSessionActivationListener, HttpSessionBindingListener, ServletRequestListener, ServletRequestAttributeListener {private static final Logger logger = Logger.getLogger(OnlineListener.class);private static ApplicationContext ctx = null;public OnlineListener() {}/** * 服务器初始化时调用 */public void contextInitialized(ServletContextEvent evt) {logger.debug("服务器启动");ctx = WebApplicationContextUtils.getWebApplicationContext(evt.getServletContext());}/** * 向session里增加属性时调用(用户成功登陆后会调用) */public void attributeAdded(HttpSessionBindingEvent evt) {//String name = evt.getName();//logger.debug("向session存入属性:" + name);//if (ResourceUtil.getSessionInfoName().equals(name)) {// 如果存入的属性是sessionInfo的话//HttpSession session = evt.getSession();//SessionInfo sessionInfo = (SessionInfo) session.getAttribute(name);//if (sessionInfo != null) {//OnlineServiceI onlineService = (OnlineServiceI) ctx.getBean("onlineService");//onlineService.saveOrUpdateTonlineByLoginNameAndIp(sessionInfo.getLoginName(), sessionInfo.getIp());//}//}}/** * session销毁(用户退出系统时会调用) */public void sessionDestroyed(HttpSessionEvent evt) {//HttpSession session = evt.getSession();//if (session != null) {//logger.debug("session销毁:" + session.getId());//SessionInfo sessionInfo = (SessionInfo) session.getAttribute(ResourceUtil.getSessionInfoName());//if (sessionInfo != null) {//OnlineServiceI onlineService = (OnlineServiceI) ctx.getBean("onlineService");//onlineService.deleteTonlineByLoginNameAndIp(sessionInfo.getLoginName(), sessionInfo.getIp());//}//}}public void contextDestroyed(ServletContextEvent evt) {logger.debug("服务器关闭");}public void requestDestroyed(ServletRequestEvent arg0) {}public void sessionDidActivate(HttpSessionEvent arg0) {}public void valueBound(HttpSessionBindingEvent arg0) {}public void attributeAdded(ServletContextAttributeEvent arg0) {}public void attributeRemoved(ServletContextAttributeEvent arg0) {}public void attributeRemoved(HttpSessionBindingEvent arg0) {}public void attributeAdded(ServletRequestAttributeEvent evt) {}public void valueUnbound(HttpSessionBindingEvent arg0) {}public void sessionWillPassivate(HttpSessionEvent arg0) {}public void sessionCreated(HttpSessionEvent arg0) {}public void attributeReplaced(HttpSessionBindingEvent arg0) {}public void attributeReplaced(ServletContextAttributeEvent arg0) {}public void attributeRemoved(ServletRequestAttributeEvent arg0) {}public void attributeReplaced(ServletRequestAttributeEvent arg0) {}public void requestInitialized(ServletRequestEvent arg0) {}}


0 0