我有一個簡單的Web應用程序,有幾個JSP頁面,servlet和POJO的。我想在做任何請求之前初始化連接池。做這個的最好方式是什麼?可以在應用程序首次部署時完成,還是必須等到第一次請求進入?正在初始化Java的Web應用程序
2
A
回答
0
怎麼樣一個基本的servlet啓動初始化連接池?
8
使用一個的ServletContextListener並在web.xml中正常申報。這種方式比啓動servlet更可取。它更有組織,你的意圖是顯而易見的。它也保證在任何請求之前運行。它還爲您提供關閉掛鉤以清除池。
這裏是我的web.xml片段,例如:
<listener>
<listener-class>
com...ApplicationListener
</listener-class>
</listener>
,這裏是從類本身的代碼片段。請確保你趕上例外,所以他們不會傳播到你的服務器應用程序,並提供有用的日誌消息 - 這些將幫助您,當您跟蹤您的應用程序。
public class ApplicationListener implements ServletContextListener {
private ServletContext sc = null;
private Logger log = Logger
.getLogger(ApplicationListener.class);
public void contextInitialized(ServletContextEvent arg0) {
this.sc = arg0.getServletContext();
try {
// initialization code
} catch (Exception e) {
log.error("oops", e);
}
log.info("webapp started");
}
public void contextDestroyed(ServletContextEvent arg0) {
try {
// shutdown code
} catch (Exception e) {
log.error("oops", e);
}
this.sc = null;
log.info("webapp stopped");
}
}
+0
你認爲「哎呀」是一個有用的信息? :-) – extraneon 2010-04-12 14:18:57
相關問題
- 1. java web應用程序的初始化和關閉
- 2. 應用程序初始化
- 3. 調用應用程序初始化模塊在Azure的Web應用程序
- 4. 在web應用程序初始化的Spring bean啓動
- 5. 在應用程序池啓動時初始化ASP.NET Web應用程序
- 6. Spring beans在Spring Web應用程序中初始化兩次
- 7. 正在初始化一個空的sinatra應用程序
- 8. Django應用程序初始化過程
- 9. 應用程序的一次初始化
- 10. JAX-RS應用程序的初始化
- 11. Java Applets無法加載; 「開始:應用程序未初始化」
- 12. 如何使用支持Web API初始化SPA應用程序
- 13. 如何用匕首初始化Web應用程序?
- 14. 如何在Java EE應用程序中儘早初始化Log4J?
- 15. Tomcat Java Servlet - 在應用程序啓動時初始化類
- 16. 在啓動時初始化Java EE應用程序緩存
- 17. 如何當應用程序初始化
- 18. Angular 2應用程序庫初始化
- 19. Android應用程序初始化
- 20. 「無法初始化應用程序0xc000005」
- 21. 初始化Android應用程序
- 22. 初始化vuejs應用程序
- 23. 類初始化中斷應用程序
- 24. nodester初始化應用程序錯誤
- 25. Catel應用程序初始化
- 26. WPF應用程序初始化狀態
- 27. servlet或ejb單例初始化web應用程序
- 28. Spring Web應用程序:初始化失敗時關機
- 29. 初始化QuartzScheduler當容器首次加載Web應用程序
- 30. 如何初始化一個Web應用程序?
請不要跟我重新標記被打亂。雖然你和我(以及其他人)知道它真的是拼寫成'初始化',但接受的標籤是'初始化'。 – MPelletier 2010-04-12 17:42:13