风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

ECApp -- 之系统初始化

在java web项目中,最常用的就是使用listener来实现初始化了。

下面是实现代码
 1 public class StartupListener extends ContextLoaderListener implements
 2         ServletContextListener {
 3 
 4     private Logger logger = LoggerFactory.getLogger(getClass());
 5     
 6     /**
 7      * web容器启动时调用
 8      */
 9     public void contextInitialized(ServletContextEvent event) {
10         logger.info("application servlet initialized");
11 
12         ServletContext context = event.getServletContext();
13         
14         //从spring中获得bean,由这个bean进行相应操作,结果存到context中
15         ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
16         ProductClassManager productClassManager = (ProductClassManager)ctx.getBean("productClassManager");
17         
18         String prodClassTreeJson = productClassManager.generateProdClassTree();
19         
20         context.setAttribute(Constants.PRODUCT_CLASS_JSON_STRING, prodClassTreeJson);
21     }
22     
23     
24     /**
25      * web容器销毁时调用
26      */
27     public void contextDestroyed(ServletContextEvent event){
28         logger.info("application servlet destroyed");
29     }
30 
31 }
        这里面还调用 了spring的bean,所以listener要配置在spring的那个listener下面,否则可能出错。

这样我们就可以在系统启动的时候将一些常用的数据及配置信息都放到内存(即serlvetContext里面),在struts2中,我们可以通过这种方式获得
ServletContext context = ServletActionContext.getServletContext();
然后就可以使用存放在context里面的数据了。
就这么简单。

posted on 2009-08-06 15:40 风人园 阅读(230) 评论(0)  编辑  收藏 所属分类: ECP


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问