2010-05-06 54 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

相關問題