2011-07-02 17 views
3

私はJavaの動的Webサイトで作業しています。MVCパターンに固執することに興味があります。 JSPとサーブレットの間でWebアプリケーションの作業を分割する最善の方法は何ですか?MVC WebアプリケーションでJSPとサーブレットを使用するための最良の方法

私のJSPファイルは、controllerとしてプログラムとサーブレットのviewとして表示されますか?

サーブレットをcontrollerとして使用する必要がある場合は、サーブレットに複数の機能割り当てを指定することをお勧めします。例えば、サーブレットにアクション番号を送信すると、サーブレットは、行う。このように私は非常に少数のサーブレットを作成することができ、それぞれが別々のタイプのリクエストを担当することになります。

答えて

6

JSPファイルをプログラムのビューとして表示し、サーブレットをコントローラとして表示する必要がありますか?

はい。ビューの実装にはJSPが最適です。

アプリケーション要件によっては、JSPとして実装されていないビューが他にも存在する可能性があります。しかし、あなたの提案された責任部門は良い出発点です。

私はコントローラとしてサーブレットを使用する必要がある場合は、それは例えば、サーブレットに複数のfunctionallityを与えることが賢明です:サーブレットにアクション番号に送信し、サーブレットは、決定することでケースを切り替えますそうする行動。

これはもっと議論の余地があります。少数のサーブレットを持ち、サーブレットの内部を切り替えたり、多数のサーブレットを持ち、"web.xml"ファイルまたはいくつかのフレームワーククラスで切り替えることができます。例えば、多くの人々は、コントローラサーブレットへの要求のディスパッチを管理するために、Restletフレームワーク、および/またはアノテーションを使用します。


私の一般的なアドバイスは、次のようになります。

  • はまだ別のフレームワークをコーディングしないでください。そこにはすでにたくさんの人がいて、少なくとも1人は十分なはずです。
  • 過剰設計しないでください。
+0

+1 - これを改善するのは難しいです。 – duffymo

0

私は数ヶ月前に似たような状況に陥りました。私はJavaを使ってWeb開発の人たちのグループを紹介しなければなりませんでしたが、私は正直言ってJava用フレームワークのファンではありませんでした。多くの人が心理に悩まされているのは、JSPでページの中に何が必要なのか分からないからです。

普通のjava/jspを使用することができますが、まだまだ整理されたプロジェクトです。ここに私が言及したプロジェクトへのリンクがあります。私は単に各ページを、そのページに必要なモデルを返す擬似コントローラメソッドへの1つの関数呼び出しに制限しました。ページ上の唯一の他のJavaコードは、テンプレート用です。

ここにプロジェクトのソースがありますので、見てみましょう。

http://net-machine.com/indefero/p/lsms/source/tree/master/src

関連する問題