继承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>

 

posted @ 2017-11-24 11:07  wlhebut  阅读(428)  评论(0编辑  收藏  举报