package com.ycsoft.sysmanager.web.commons.listeners; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.ycsoft.business.dao.system.SDataTranslationDao; import com.ycsoft.business.dao.system.SItemvalueDao; import com.ycsoft.commons.store.MemoryDict; import com.ycsoft.daos.core.JDBCException; import com.ycsoft.sysmanager.print.PrintContentConfiguration; /** * 容器启动的监听器,完成系统初始化工作。 包括配置文件、系统参数等初始化。 * * @author hh * @date Mar 12, 2010 9:23:35 AM */ public class AppInitListener implements javax.servlet.ServletContextListener { /** * 构造监听器 */ public AppInitListener(){} /** * 实现容器初始化的函数 */ public void contextInitialized(ServletContextEvent sce) { ServletContext sc = sce.getServletContext(); try{ initComponent(sc); configuration(sc); }catch(Exception ex){ ex.printStackTrace(); } } /** * 配置文件参数 */ private void configuration(ServletContext sc)throws Exception{ PrintContentConfiguration.configure(sc.getRealPath("/")); } /** * 初始化查询组建,从Spring 管理的Bean中获取 * @param sc * @throws Exception */ private void initComponent(ServletContext sc){ WebApplicationContext wc = WebApplicationContextUtils.getWebApplicationContext(sc); SItemvalueDao sItemvalueDao = wc.getBean(SItemvalueDao.class); SDataTranslationDao sDataTranslationDao = wc.getBean(SDataTranslationDao.class); try { MemoryDict.setupData(sItemvalueDao.findAllViewDict(), sDataTranslationDao.findAll()); } catch (JDBCException e) { e.printStackTrace(); } } /** * 实现容器销毁函数 */ public void contextDestroyed(ServletContextEvent sce) { System.out.println("容器正在销毁...."); } }