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

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

packagecom.test. listener;importjavax.servlet.ServletContextEvent;importjavax.servlet.ServletContextListener;//创建的类名根据需要定义,但一定要实现ServletContextListener接口

public class WebContextListener implementsServletContextListener {

@Overridepublic voidcontextInitialized(ServletContextEvent arg0) {//TODO Auto-generated method stub//这里可以放你要执行的代码或方法

}

@Overridepublic voidcontextDestroyed(ServletContextEvent arg0) {//TODO Auto-generated method stub

}

}

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

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

com.test. listener.WebContextListener

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

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

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

java中项目启动时加载_如何在项目启动时,加载或解析某配置文件相关推荐

  1. java中小数后加f_在 Java 中,小数默认为 ,如果要指定 类型请在小数后加 F/f 。_学小易找答案...

    [填空题]Java 语言采用双字节的 编码. [单选题]马斯洛需要层次论所提出的5种需要:生理需要.安全需要.归属需要.( ).自我实现需要 [填空题]String s= " abc &qu ...

  2. java怎么给文本框加滚动条_懂Java中Swing的朋友,谁能帮我在Jtextare上加一个滚动条啊?很急!...

    懂Java中Swing的朋友,谁能帮我在Jtextare上加一个滚动条啊?很急! 关注:147  答案:2  信息版本:手机版 电脑版 解决时间 2021-01-13 13:01 提问者当我没来过 2 ...

  3. java中如何限制输入非空_项目中的参数限制、非空、以及集合中的验证,你真的会做吗(Java)...

    背景: 在项目管理中,我们通常要对一个个参数做验证, 前端校验,后端加校验,这里为了保证校验的一致性,我们需要将我们的校验写的比较高效率一点,不至于满篇都是is null的进行参数验证,为了成为一个成 ...

  4. java 中的finally你知多少_「JAVA」详述Java异常体系,处理异常时配上finally效果更佳...

    什么是异常 从事Java开发的小伙伴对于"异常"应该不陌生,因为每天都会遇到不少异常,或捕获,或抛出.那究竟什么是异常?异常即非正常的,不同于平常.一般化的情况.在平时生活中,医生 ...

  5. java中class.forname连接mysql数据库_数据库链接与 Class.forName()用法详解

    主要功能 Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就是说JVM会执行该类的静态代码段 ...

  6. java中的控制器_SpringMVC基础(一)_控制器

    Spring MVC Spring MVC 基于模型-视图-控制器(Model-View-Controller)模式实现,它能够帮你构建灵活和松耦合的应用程序. 1.Spring MVC的请求追踪 每 ...

  7. JAVA中两个char类型相加_【技术干货】Java 面试宝典:Java 基础部分(1)

    海牛学院的 | 第 616 期 本文预计阅读 |18 分钟 Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法, ...

  8. java中的静态变量的作用域_详解JAVA中static的作用

    1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...

  9. java中数值023是什么类型_【Java 教程(原创)】023.参数传值——引用类型参数的传值...

    马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 零度非安全 于 2017-3-12 14:03 编辑 点击图片穿越到 索引帖,听说有惊喜 ...

最新文章

  1. C++拾遗(五)语句相关
  2. OpenGL实现通用GPU计算概述
  3. 用Python建立最简单的web服务器
  4. python 矩形补正方形
  5. 对线性回归,logistic回归和一般回归的认识
  6. URAL 1427. SMS(DP+单调队列)
  7. 在并发中练习 Boost.Multiprecision多线程环境相关的测试程序
  8. StateListDrawable和ShapeDrawable结合使用
  9. Windows驱动开发VXD/WDM/WDF/DDK/WDK的联系和区别
  10. 你也可以搞懂的微服务第一篇——来自ThoughtWork的学习体验
  11. mybatis_user_guide(7) SQL语句构建器类
  12. shell 脚本和 bash 脚本的关系
  13. HDU-3065 病毒侵袭持续中 AC自动机又是一板子!
  14. Scala程序将多行字符串转换为数组
  15. 绝对定位和浮动的区别和运用
  16. Django简介以及安装
  17. 每天中一次500万彩票,谷歌CEO 2019薪酬曝光,总计2.81亿美元
  18. 输出dag的所有拓扑排序序列_算法学习笔记(53): 拓扑排序
  19. LeetCode 6 - ZigZag Conversion
  20. java我的世界光影推荐_最棒的7款我的世界光影水反效果包

热门文章

  1. ios上传文件云服务器上,ios文件上传服务器
  2. python 编码 解码 读写文件
  3. 子网掩码+ip地址_C ++程序使用位掩码查找唯一编号
  4. 认真聊一下MySQL索引的底层实现!
  5. javascript 懒加载技术(lazyload)简单实现
  6. VS2010中使用sprintf出现warning C4997: 'sprintf': This function or variable may be unsafe.
  7. 单片机四位数加减计算机程序,51单片机简易计算器程序 实现数字的加减乘除运算...
  8. fstream下的读写操作
  9. Linux中点号,星号,加号,问号实战
  10. python 白化_Python新疆某气候要素IDW(反距离权重)插值