2014-02-27 45 views
0

我已經從我的servlet使用連接到我的數據庫(的Oracle 11g):如何獲得整個servlet的連接?

Class.forName(oracle.jdbc.driver.OracleDriver); 

Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:admin","username","password"); 

我想對我產生任何其他servlet相同的連接!

假設名爲a.java的servlet與數據庫建立連接。在同一個包中,我們有另一個servlet b.java

如何獲取b.java中a.java的連接引用的值?

+3

請記住,SO不是一般教程和某人做我的作業網站。那麼你的具體問題是什麼?你有沒有收到任何錯誤信息?您已發佈了大量代碼,請在幫助中心閱讀[此部分](http://stackoverflow.com/help/mcve)。如果你遵循這個準則,你的問題就更有可能得到回答。 –

回答

1

我想爲我創建的其他servlet創建相同的連接!

不,你不會。你會討厭它。您甚至不需要在整個servlet中使用相同的連接,更不用說跨web應用程序中的所有servlet。每筆交易需要一個新的連接。否則,你將不得不同步所有的訪問,除非只有一個客戶端,否則你的web應用程序將停止運行,在這種情況下,這幾乎都不值得麻煩。

使用連接池。

+0

無論如何去過&做了一個上下文監聽器! 我討厭它! 當我運行網絡應用程序時,突然間應用程序崩潰,網關數量超出了結果集!我必須從一開始就改變一切!惡夢! 我仍然不知道連接池是什麼,但是我會在完成這個項目後研究它! 謝謝! – user2839702

+0

一直讓我困惑的事情之一就是爲什麼人們在這樣的地方發帖提問時,他們無意輕易發出任何答案。你剛剛浪費了大量的時間,你的僱主的錢花在了你已經被告知的任務上,完全是徒勞的。也許下次你會聽你講的話。 – EJP

+0

我很抱歉,我浪費了你的時間。但這就是它教給我們的方式:使用上下文監聽器在部署描述符中給出數據庫連接。 – user2839702