2012-06-21 112 views
1

我有一個JSP應用程序在登錄頁面連接到oracle。我怎樣才能保持這個連接的活動並在另一個頁面上執行查詢?保持oracle連接處於活動狀態,訪問oracle

DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); 
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@" + HOST + ":1521:fcprod", request.getParameter("username"), request.getParameter("password")); 
+2

最好的事情是你實現設計模式[** Model-view-controller **](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) –

回答

1

我使用連接池的c3p0保持連接活着。它有命令在不使用時保持連接活動。我在grails應用程序(類似於jsp)和基於hibernate的應用程序中使用它。

雖然上面的評論是正確的,但您需要將連接信息從頁面移出到控制器(不是一個好主意)或服務(可能是最好的想法)。

0

這絕對不是要走的路。嘗試實施另一種解決方案,因爲當我看到它時,你正在嘗試拍攝自己的腳。

如果您使用支持池連接的應用程序服務器,請嘗試使用該服務器。如果不是,請嘗試在單獨的請求中打開和關閉連接。如果您希望在打開的會話期間保持與db的打開連接,會隨着會話數量的增長而快速消除所有資源。嘗試在應用程序的生命週期中保持單個連接打開更糟糕。

0

它不是一個好的做法,有這種情況。 但您可以使用 session.setAttribute(「con」,con);將此con對象存儲到會話範圍中。 以及您需要的任何頁面,請使用 Connection con =(Connection)session.getAttribute(「con」);

相關問題