2010-05-06 58 views
4

我的Web应用程序将在Jetty实例中作为WAR包进行部署。它在提供请求之前需要执行大量的缓存。如何在其他方面之前调用缓存方法?是Web应用程序标准中的静态void main()?如何初始化一个Web应用程序?

+1

如果你想让人们回答你的问题,请接受一些答案 – 2010-06-07 02:54:25

回答

4

标准(旧)方法是编写一个Servlet,它负责处理其init()方法中的初始化内容。你迫使它在应用程序启动通过在web.xml

<servlet> 
     <servlet-name>myinit</servlet-name> 
     <servlet-class>com.example.MyInitServlet</servlet-class> 
     <load-on-startup>2</load-on-startup> 
    </servlet> 

今天加入load-on-startup正值它更常用的有像春天,这需要这样的事情(实例化服务对象的护理Bean容器进行初始化,预加载可缓存的可共享数据等)。

注意:此配方适用于一般的web应用程序,并非特定于Jetty。

+0

我喜欢这个解决方案,因为我可以在任何Web应用服务器上使用它。 虽然我需要一个虚拟servlet。有没有一种方法来执行这种初始化而不实施servlet? Web应用程序是否存在静态void main()? – Gatis 2010-05-06 03:17:12

+1

它似乎添加一个ServletContextListener是我想要的。 – Gatis 2010-05-06 10:21:32

相关问题