2010-10-27 34 views
0

我正在嘗試在JSP中編寫我們現有的桌面應用程序。在JSP頁面上共享數據庫連接和已經加載的腳本,樣式頁面

爲了能夠保持可持續性,具有視覺效果和功能,我決定使用JQuery。

在一個月前開始編寫代碼後,我們意識到這些頁面正在大量使用在每個頁面中調用的庫(JQuery和JQueryUI庫,額外插件和CSS文件)。我們還需要在每個進程中連接oracle數據庫。

我想要的是一個主頁(可以說叫Application.jsp)。這將

  1. 連接到數據庫,保持連接(連接成功和它只要活着,我一直用它)
  2. 調用子頁面阿賈克斯。子頁面被編碼爲原始html。 (嘗試加載()和獲得()與JQuery和成功)
  3. 在加載的子頁面上應用JQuery函數和CSS(不能讓它工作)
  4. 使用getJSON()獲取查詢結果使用活動數據庫連接。 (也可能沒有這個工作,可能是因爲JQuery沒有在我的加載頁面上工作,或者可能無法共享數據庫連接)

如果我能以這種方式工作,每個子頁面調用中有數百kB的庫。另外我不需要維護每個進程的數據庫連接。

任何幫助,將不勝感激。謝謝...

回答

1

不要保持連接永遠打開自己。當數據庫保持打開狀態的時間過長以及應用程序崩潰時,數據庫將關閉它們。通常的做法是使用連接池。體面的servlet容器爲JNDI數據源提供了這種設施。連接池實現本身會擔心以正確的方式獲取和關閉實際連接。

目前還不清楚這servletcontainer你使用,所以這裏只是特定Tomcat的一些文件爲例:

一旦做到這一點,改變連接管理器在您的JDBC代碼中,用DataSource#getConnection()代替DriverManager#getConnection()並保持JDBC代碼的剩餘部分穩定(獲取並關閉連接儘可能最短範圍,請始終關閉finally區塊中的所有資源)。如果您對此不確定,可以在此basic JDBC DAO tutorial中找到一些見解。

0

關於連接管理,絕對要跟BalusC的推薦。查找您的App Server或Container的資源實施,並在應用程序服務器中設置數據庫連接。

將JQuery函數和事件處理程序應用於新的加載AJAX的內容,您將需要使用jquery選擇器並重新應用以前應用於整個文檔的任何內容,但是您只能針對新加載的內容運行它,而不是整個文檔樹。