zoukankan      html  css  js  c++  java
  • 在web项目启动时,执行某个方法,监听器

      在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件、初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作。

      在工作中遇到了项目初始数据需要跟其他项目同步的问题,也就是说在项目部署后,启动的时候就要同步另外一个项目的数据,这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法。

    package com.wlw.modules;
    
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    //创建的类名根据需要定义,但一定要实现ServletContextListener接口
    public class InitTest implements ServletContextListener {
    
        /**
         * 项目在启动初始化的时候就会执行的方法(启动服务时执行)
         * @param arg0
         */
        @Override
        public void contextInitialized(ServletContextEvent arg0) {
            // TODO Auto-generated method stub
            //这里可以放你要执行的代码或方法
        }
    
        /**
         *contextDestroyed是在消亡的时候执行的方法(关闭服务时执行)
         * @param arg0
         */
        @Override
        public void contextDestroyed(ServletContextEvent arg0) {
            // TODO Auto-generated method stub
    
        }
    
    }

    其中contextInitialized方法是项目在启动初始化的时候就会执行的方法,contextDestroyed是在消亡的时候执行的方法,这里我们需要把随项目启动时执行的代码放在contextInitialized方法中。

             然后在web.xml中为这个监听器添加配置,

        <listener>
            <listener-class>com.wlw.modules.InitTest</listener-class>
        </listener>

    其中listenner-class配置的是上面定义的监听器类路径

             这样就就可以了,部署好项目,启动就可以执行contextInitialized里面的代码了。

    如果你需要在项目启动的时候加载解析你自定义的配置文件,可以将加载解析配置文件的代码放在contextInitialized方法里面,这样在你项目启动的时候就可以解析你配置文件里的信息了。

  • 相关阅读:
    第6月第4天 AVMutableComposition AVMutableVideoComposition
    error: WatchKit App doesn't contain any WatchKit Extensions whose WKAppBundleIdentifier matches
    领导力和管理的区别是什么?
    小企业如何做好员工管理?
    市场营销案例书籍,市场营销必看的书籍推荐
    情商书籍排行榜:这6本书让你更好地做自己
    市场营销原理,看完这本书你才能懂什么叫市场营销
    能帮你提高情商的书籍推荐
    销售人员最该看的书:《销售管理必读12篇》
    适合初学者看的管理类书籍推荐
  • 原文地址:https://www.cnblogs.com/zhouheblog/p/10483650.html
Copyright © 2011-2022 走看看