2010-02-24 88 views

回答

6

他們確實沒錯,暗示。我們不直接從Servlet或JSP訪問數據庫,這兩者都意味着是Web層,不是嗎?

那麼,該怎麼辦?抓取一個JDBC教程。 official one是一個很好的選擇。這會給你一個關於從Java連接到數據庫的好主意,並掌握JDBC API。之後,你應該去閱讀約DAO pattern,以及我們如何employ that in real apps

此外,我認爲你也應該閱讀關於MVC pattern,因爲在我看來,你也不是很清楚。

一旦你瞭解了所有這些,並拿出一個像使用所有這些東西的應用程序的玩具。下一步將是看看Connection Pooling機制。

3

由於您使用的是servelt,因此您必須使用容器行Apache Tomcat。您應該看看如何定義連接池http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html。如果您正在使用任何其他容器,那麼也將具有類似的設置。

其他選項是創建一個單獨的DBManager類,它在初始化和返回連接之後進行查看。這個類可以在servlet中使用。

2

使用JDBC並讓您的應用程序服務器的應用程序池是一個好的開始。你也可以使用一些API來讓你的生活更加簡單,像Hibernate。

2

這是一種「糟糕的方式」,因爲它不使用(JNDI管理的)連接池來獲取連接。雖然獲取連接成本「僅」幾百毫秒,但這對繁忙的多用戶環境有影響。連接池將擔心打開和關閉連接,並立即在每個getConnection()調用中釋放它們,以便它實際上成本幾乎爲零毫秒。如果您在繁忙的多用戶環境中對此進行總結,那麼差異是顯而易見的。

連接池通常要配置成由所討論的servletcontainer管理的JNDI數據源。由於您沒有提及您使用的是哪一個,我可以在最高點找到我的答案之一,其中包含一個Tomcat 6.0目標示例:here

希望這會有所幫助。