package com.sp2p.system.listener;
import java.sql.SQLException;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import sun.print.resources.serviceui;
import com.shove.Convert;
import com.shove.data.DataException;
import com.sp2p.constants.IConstants;
import com.sp2p.service.SiteInformationService;
import com.sp2p.service.admin.CloseNetWorkService;
/**
* 服务启动加载t_closeNetWork表中的数据,并保存到application中
* @author Administrator
*
*/
public class CloseNetWorkConfigiListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
}
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
//context.setAttribute(name, object)设置到application中
WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
CloseNetWorkService close=(CloseNetWorkService)(webApplicationContext.getBean("closeNetWorkService"));//可以获取到Spring注入
SiteInformationService site=(SiteInformationService)(webApplicationContext.getBean("siteInformationService"));
Map<String,String> map=null;
Map<String,String> siteMap=null;
try {
map=close.getNetWorkById();
siteMap=site.querySiteAll();
context.setAttribute(IConstants.Session_CLOSENETWORK, map);//设置到application中
context.setAttribute("sitemap", siteMap);
} catch (SQLException e) {
e.printStackTrace();
}catch (DataException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}