Spring Quartz 定时任务 一种是在spring配置文件中配置做定时任务。一种是以servlet的形式做定时任务。
一般情况下我们在Action中用这种方式来获得ServletContext:
ServletContext context=ServletActionContext.getServletContext();
进而获得我们比较熟悉的request、response、session作用域。不过request、response、session这些作用域是项目启动后才能获取到的。在Quartz中不适用。
要想在Tomcat启动的时候获得文件的上下文是不能使用上面的方式,所以:
1、web.xml中的配置:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2、在web.xml加载的时候获得ServletContext:
ServletContext context = ContextLoader.getCurrentWebApplicationContext().getServletContext();
这样在项目还没有完全启动的情况下就可以获取上下文了。