-3

シンプルなアプリケーションでサーブレットと JSP を使用し、DataSource/接続プールを介したデータベース接続を使用する場合、典型的なアプリケーション アーキテクチャは何ですか?

  1. Connection オブジェクトが作成されるとき、それは一般的なアプリのサーブレット スーパークラスであり、引数によって doGet/doPost に渡されますか?

  2. ドメインオブジェクトの状態を取得/更新するために、接続オブジェクトをDAOクラスに渡す方法は?

  3. SQL 例外は、DAO レベル、特定のサーブレット レベル、またはサーブレットのスーパークラスで処理されますか?

  4. ウェブサイトのテンプレートはどのように設計されていますか? JSPincludeタグで?

  5. 特定のサーブレットのDAOオブジェクト属性は、最初にインスタンス化されたとき、またはdoGet/doPostメソッドで作成されたような別のレイヤーに配置されたときに構築されますか?

  6. DAO のすべての小さな操作は、DataSource から接続を取得するか、DAO のコンストラクターで Connection を渡す必要がありますか?

  7. すべてのデータは request.setAttribute によって JSP に渡されますか?それとももっと良い方法がありますか?

  8. JSP ドメイン オブジェクト/コレクションのみに渡す必要がありますか、またはデータ取得のために DAO 全体または別のメディエーターを渡す必要がありますか?

  9. リクエストとレスポンスのチェーン全体に対して単一の接続オブジェクトのみを達成する必要がありますか? はいの場合、それを達成する方法は?

4

1 に答える 1

-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 を使用するのが最善の方法です。

5) 5 番目の質問についてよくわかりません

6)コンストラクターレベルが最適です。例外処理、接続のクローズ、およびその中の通過を行う別の接続クラスを作成することを願っています。

7) アプリケーション、リクエスト、セッションの 3 つのスコープがあります。すべてに request.setAttribute を使用しないでください。いくつかの制限があります。

8) コレクションの形式でデータを渡すのは簡単です。

9) 私はそれを知りません。

注:間違いを見つけた場合は、気にしないでください

于 2013-05-31T12:02:46.290 に答える