在web项目启动时执行某个方法
在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件、初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作。
在工作中遇到了项目初始数据需要跟其他项目同步的问题,也就是说在项目部署后,启动的时候就要同步另外一个项目的数据,这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法
package com.test. listener; import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
//创建的类名根据需要定义,但一定要实现ServletContextListener接口
public class WebContextListener implements ServletContextListener { @Override
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
//这里可以放你要执行的代码或方法
} @Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub } }
其中contextInitialized方法是项目在启动初始化的时候就会执行的方法,contextDestroyed是在消亡的时候执行的方法,这里我们需要把随项目启动时执行的代码放在contextInitialized方法中。
然后在web.xml中为这个监听器添加配置
<listener>
<listener-class> com.test. listener.WebContextListener</listener-class>
</listener>
其中listenner-class配置的是上面定义的监听器类路径,这样就就可以了,部署好项目,启动就可以执行contextInitialized里面的代码了。
如果你需要在项目启动的时候加载解析你自定义的配置文件,可以将加载解析配置文件的代码放在contextInitialized方法里面,这样在你项目启动的时候就可以解析你配置文件里的信息了。
在web项目启动时执行某个方法的更多相关文章
- Spring在Web容器启动时执行初始化方法
需求:在tomcat启动时开启一个定时任务. 想法:容器启动时执行方法,最容易想到的就是servlet中可以配置load-on-startup,设置一个正整数也就可以随容器一起启动. 问题:上面的方法 ...
- Java项目启动时执行指定方法的几种方式
很多时候我们都会碰到需要在程序启动时去执行的方法,比如说去读取某个配置,预加载缓存,定时任务的初始化等.这里给出几种解决方案供大家参考. 1. 使用@PostConstruct注解 这个注解呢,可以在 ...
- Spring Boot学习--项目启动时执行特定方法
Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动 ...
- spring 在web容器启动时执行初始化方法
开发框架:spingMVC+myBatis 解决方案:给web容器添加一个Listener类,在容器启动的时候执行Listener的“初始化”方法,在这个初始化方法中执行查询数据库的所有操作,然后将数 ...
- spring注解之@PostConstruct在项目启动时执行指定方法
一.注解解释 Spring的@PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean,并且一个Bean中@PostConst ...
- Spring项目启动时执行初始化方法
一.applicationContext.xml配置bean <bean id="sensitiveWordInitUtil" class ="com.hx.daz ...
- java项目启动时执行指定方法
想到的就是监听步骤如下: 1.配置web.xml <listener> <listener-class>com.listener.InitListener</listen ...
- 在web项目启动时,使用监听器来执行某个方法
在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 这里写了个简 ...
- 在web项目启动时,执行某个方法
在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 在工作中遇到 ...
随机推荐
- poj-1251-最小生成树
title: poj-1251-最小生成树 date: 2018-11-20 16:38:14 tags: acm 刷题 categories: ACM-最小生成树 概述 前段时间数据结构的课上提到了 ...
- Counter Strike HDU 2443 逆序对数
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2443 这个题目尝试了很多种方法都过不去,上网查了一下网友们的的思路,竟然和逆序对数有关系!! 题目大意: ...
- python ftp操作脚本&常用函数
需求:快速进行ftp上传 ,下载,查询文件 原来直接在shell下操作: 需要[连接,输用户名,输密码,单文件操作,存在超时限制] 太过于繁琐,容易操作失败 脚本改进: 一句命令,搞定多文件上传,下载 ...
- 自顶向下学搜索引擎——北大天网搜索引擎TSE分析及完全注释[1]寻找搜索引擎入口
转自:http://blog.csdn.net/jrckkyy/article/category/402818 由于百度博客http://hi.baidu.com/jrckkyy发表文章字数有限,以后 ...
- Java集合的ConcurrentModificationException
简单复习一下集合顺带提一下这个错误,其实也比较常见,大多是因为疏忽的原因吧: 我们创建一个集合,添加了一些元素,使用迭代器来遍历,然后遍历途中需要进行一些逻辑操作,对集合进行修改,然后就报错了,这是什 ...
- gearman学习笔记
<?php 搭建描述: . 在实际使用时应该是运行gearmand -d 的 server 一台. [要装gearmand,运行gearmand] . 处理worker的机器若干[要装gearm ...
- Codeforces Round #196 (Div. 2) A. Puzzles 水题
A. Puzzles Time Limit: 2 Sec Memory Limit: 60 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/showProblem ...
- php的哈希函数
哈希函数: echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT)."\n"; 验证函数: boolean ...
- 在WPF中使用全局快捷键
今天写一个小程序中使用到了全局快捷键,找到了我之前写的文章在c#中使用全局快捷键翻了一下,发现它是WinForm版本的,而我现在大部分写WPF程序了,便将其翻译了为WPF版本的了. static cl ...
- 1588: [HNOI2002]营业额统计 (splay tree)
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 5783 Solved: 1859[Submit][Stat ...