继承ServletContextListener可以完成的事情
1.定时任务:
定时任务是从某个固定的时间开始执行特定的程序,继承这个方法,可以实现刚启动项目的时候执行某特定的程序,完成给客户部署的时即可以看到某个页面的效果。
2.初始化系统常量等:
这样来完成系统需要的一些数据,批量完成页面需要的某些变量,
例如:Copyright © ${copyright_year}. ${applicationScope.cropyright_name}</div>
而且这些元素是可以批量初始化到applicationScope中去的。所以有些项目根据jsp页面中的applicationScope.cropyright_name,全文查找是找不到页面中的元素在哪里存了。
例如:
public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext servletContext = servletContextEvent.getServletContext();
ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
SysInformationMapper sysInformationMapper = applicationContext.getBean(SysInformationMapper.class);
SysInformationExample sysInformationExample = new SysInformationExample();
sysInformationExample.createCriteria().andEnabledEqualTo("1");
List<SysInformation> sysInformationList = sysInformationMapper.selectByExample(sysInformationExample);
if(sysInformationList!=null && sysInformationList.size()>0){
for(SysInformation sysInformation:sysInformationList){
servletContext.setAttribute(sysInformation.getInfoSign(),sysInformation.getInfoValue());
System.out.println(sysInformation.getInfoSign()+" >>> "+sysInformation.getInfoValue());
}
}
}
3.需要在web.xml中配置对应的listener
<listener>
<listener-class>com.huntech.web.listener.SystemConfigListener</listener-class>
</listener>
继承ServletContextListener可以完成的事情的更多相关文章
- 读书笔记 effective c++ Item 39 明智而谨慎的使用private继承
1. private 继承介绍 Item 32表明C++把public继承当作”is-a”关系来对待.考虑一个继承体系,一个类Student public 继承自类Person,如果一个函数的成功调用 ...
- [js高手之路]从原型链开始图解继承到组合继承的产生
基于javascript原型链的层层递进查找规则,以及原型对象(prototype)的共享特性,实现继承是非常简单的事情 一.把父类的实例对象赋给子类的原型对象(prototype),可以实现继承 f ...
- 都0202年了,你还不知道javascript有几种继承方式?
前言 当面试官问你:你了解js哪些继承方式?es6的class继承是如何实现的?你心中有很清晰的答案吗?如果没有的话,可以通过阅读本文,帮助你更深刻地理解js的所有继承方式. js ...
- JavaWeb—监听器Listener
1.简介 Listener是Servlet的监听器,Servlet 监听器用于监听一些重要事件的发生,监听器对象在事情发生前.发生后可以做一些必要的处理. JavaWeb里面的listener是通过观 ...
- 互联网大厂Java面试题集—Spring boot常见面试题(二)
Spring Boot的核心功能与使用优点? 核心功能: 1)Spring Boot项目为独立运行的spring项目,java -jar xx.jar即可运行. 2)内嵌servlet容器(可以选择内 ...
- java注意的一些细节问题
1. 大括弧作用域问题 public static void main(String[] args) { { int x; { int x;//编译错误:Duplicate local variabl ...
- C3p0连接池配置
在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数据库驱动类");) ②连接数据库(Connection co ...
- Web.xml配置详解之context-param
<context-param> <param-name></param-name> <param-value>></param-value& ...
- spring web.xml 难点配置总结
web.xml web.xml是所有web项目的根源,没有它,任何web项目都启动不了,所以有必要了解相关的配置. ContextLoderListener,ContextLoaderServlet, ...
随机推荐
- js数组,数字函数,字符串函数,表单验证,hashMap,堆栈,日期函数,call函数
1.javascript的数组API Js代码 收藏代码 //定义数组 var pageIds = new Array(); pageIds.push('A'); 数组长度 pageIds.lengt ...
- react table dropdown
<DropdownButton type="primary" trigger={['click']} onClick={() => this.detail(item)} ...
- 如何将桌面的路径定义到其它盘符,如d:\users\桌面
首先要在“开始”——“运行”内输入“regedit”打开注册表编辑器,然后要在“文件”下拉菜单中的“导出”功能备份好注册表,以防万一,接着在左侧窗口依次打开: HKEY_CURRENT_USER\So ...
- VBox自动启动websrv 并开机启动所有的虚拟机
由于项目需要,在Ubuntu 16.04的Server版本中安装了一个virtualbox,并利用phpvirtualbox来管理虚拟机 需要在宿主机启动之后将所有的虚拟机也启动,因此用以下方式进行处 ...
- Python正则表达式使用过程中的小细节
今天用Python写了个简单的爬虫程序,抓取虎扑篮球(nba.hupu.com)的首页内容,代码如下: #coding:gb2312 import urllib2, re webpage = urll ...
- Intellij IDEA基于Springboot的远程调试
简介 本篇博客介绍一下在Intellij IDEA下对Springboot类型的项目的远程调试功能.所谓的远程调试就是服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须 ...
- 典型的一次jQuery.validate.js 表单中的验证应用
var validateOption = { onkeyup:false, rules:{ password:{ required:true, remote:{ url:'index.php?app= ...
- jQuery学习_具备吸附功能的拖曳框
在线演示:http://sandbox.runjs.cn/show/2drrwkrx 关键点:保持一个不变,鼠标拖动时与边框的距离 === 鼠标左击时与边框的距离 源码: <!DOCTYPE h ...
- LeetCode Replace Words
原题链接在这里:https://leetcode.com/problems/replace-words/description/ 题目: In English, we have a concept c ...
- 洛谷 P3144 [USACO16OPEN]关闭农场Closing the Farm_Silver
传送门 题目大意: n个谷仓 ,每次关闭一个谷仓,问剩下没被关闭的谷仓是 否联通. 题解:并查集+倒序处理 代码: #include<iostream> #include<cstdi ...