JSP-Servlet-JavaBeansで開発するときに、
業務ロジックはModelであるJavaBeansの中で作成すると
思います。

様々なサンプルを見ると、そのJavaBeansの中で
データベースへのコネクションを作成し、SQL文を実行して
値を取得しています。(DBへの接続文字列や接続ユーザ、パスワード等も固定になっています)

しかし、DBへの接続文字列(特にサーバ名)や
接続ユーザ・パスワードなどは、普通Servlet初期パラメータから取得して設定するべきだと思います。

Servletだけで開発しているときは、
DBManagerのようなクラスを作成し、コンストラクタの引数に接続文字列等を渡していたのですが、
JavaBeansの場合はどうなるのでしょう?
(同じように引数付きのコンストラクタを作成するのでしょうか??)

また、今まではServletのini()で使ってコネクションをプール実現していたのですが、JSP-Servlet-JavaBeansを使うと、どのように処理を分ければよいのでしょうか?

長文で大変申し訳ありませんが、ぜひ良きアドバイスを
お願いします。

A 回答 (1件)

これまでと同じようにコネクションプーリングを実装すればいいので


はないでしょうか?ただ、そこから取得したコネクションをJavaBeans
に渡す仕組みを考える必要があると思います。

ビジネスロジックを実装するJavaBeansのメソッドにコネクションを
パラメータとして渡したり、コネクションのフィールドを用意すれば
いいんじゃないでしょうか?

おそらくAPサーバは使用せず、コネクションプーリングを作り
こんでいると思います。私はAPサーバを使用しないケースは
経験していないのですが、Servletのinit()でコネクションを
プールするというのは初めて聞きましたし興味があります。
問題はないのかどうかという点も気になりますが。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やはり、Servletで作成しておいた、コネクションを
JavaBeansに渡すものなのですね???

ちなみに、Servletのinit()でコネクションプールを
作成している理由は、doPost()やdoGet()で
毎回コネクションを作成するよりも、
init()でコネクションをプールすることで、コネクション
作成時の処理コストを削減するためです。
#doPost()やdoGet()ごとにコネクションプールしても
全く意味がありませんしね。

Servletだけを使ったWebアプリを開発する場合は、
普通だと思っているのですが・・・・・

お礼日時:2001/09/14 23:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報