2013-05-31 14 views
-3

在簡單應用程序中使用Servlets & JSP時,通過數據庫連接通過DataSource/Connection池,典型的應用程序體系結構是什麼?什麼是典型的Servlet + JSP + JDBC簡單應用程序架構?

  1. 創建Connection對象時,它是常見的應用程序中Servlet 超和參數傳遞給的doGet/doPost方法?

  2. 如何將Connection對象傳遞給DAO類來檢索/更新域的狀態 對象?

  3. 的SQL異常在DAO水平,特定的servlet水平或servlet的超類處理?

  4. 網站模板是如何設計的?通過JSP include標記?

  5. 是DAO對象中構建的特定的servlet attibutes當它第一次實例化或在另一個像的doGet/doPost方法創建的層鋪?

  6. 應在DAO每一個細小的操作retreive在DAO的構造函數從數據源或更好的通連接的連接?

  7. 是通過了request.setAttribute傳遞給JSP的所有數據,或有更好的辦法嗎?

  8. 我應該只傳遞給JSP域對象/集合或通過整個DAO /另一種介質進行數據retreival?

  9. 我們是否應該爲整個請求 - 響應鏈實現唯一的連接對象?如果是的話,如何實現這一目標?

+2

這是很多問題。 –

+0

自己瀏覽 –

回答

-1

1)一旦服務器啓動,就會有一個連接池可用,爲此我們需要在「context.xml」中指定「Resource」標籤。實際上,將有10個連接可用(默認)。

2)您可以通過連接對象,下面的示例中會給出一些你清晰度

class A { 
    public static DataSource getConnection() { 
    Context initContext = new InitialContext(); 
    Context envContext = (Context)initContext.lookup("java:/comp/env"); 
    DataSource dataSource = (DataSource)envContext.lookup("jdbc/testdb"); 
    return dataSource; 
    } 
    } 
    class B { 
    javax.sql.DataSource ds=(DataSource)A.getConnection(); 
    javax.sql.Connection con=ds.getConnection(); 
    } 

3)你可以得到你自己的異常或這取決於使用情況預先定義的異常。 一般情況下,異常都可以在任何級別進行處理,或者可以通過某種方式進行抑制。

4)在jsp中,jsp:include使用是最好的方式。因爲include包含自己的缺點。

5)不蔭你第五屆問題

6)構造的水平是最好的清楚,我希望或者你創建一個單獨的連接類不例外處理,連接關閉和通道中that.it會很好看。 7)你有三個範圍:應用程序,請求和session.Dont使用request.setAttribute爲everything.it有一些限制。 8)以集合形式傳遞數據很容易處理。

9)Iam沒有意識到這一點。

注意:如果您發現任何錯誤,不介意

相關問題