私はjava(JSFおよびその他のJAVA EEコンポーネントの学習)に不慣れで、非常に基本的な質問があります。
Beanで多くのことができるのに、なぜサーブレットが必要なのですか。Beanから実行できないサーブレットには何がありますか、またはWebベースのアプリケーションでBeanよりもサーブレットをどのように使用していますか。
私はjava(JSFおよびその他のJAVA EEコンポーネントの学習)に不慣れで、非常に基本的な質問があります。
Beanで多くのことができるのに、なぜサーブレットが必要なのですか。Beanから実行できないサーブレットには何がありますか、またはWebベースのアプリケーションでBeanよりもサーブレットをどのように使用していますか。
JSFを使用すると、基本的にはすでにサーブレットを使用しています。これは、JSFを実行するためにFacesServlet
、自分ですでに登録している可能性があります。web.xml
リクエストパラメータの収集、それらの変換/検証、javabeanプロパティの更新、アクションの呼び出し、適切なビューへの移動などの繰り返しタスクを実行するために一連のサーブレットを作成する必要がないのは、まさにそのサーブレットです。
JSFでは、これらのタスクを実行するために追加のサーブレットを作成する必要はありません。マネージドBeanをコントローラーとして作成して宣言するだけで、ビュー内のUIコンポーネントにバインドされるモデルとして単純なjavabeanクラスを保持します。
しかし、JSFをこれまでに学んだことがなく、連絡フォームだけで2、3、または4つのWebページが必要な場合は、JSFがやり過ぎたり、難しすぎたりすることがあります。JSFの学習曲線は比較的急勾配であるため、HTTPサーブレットについてもしっかりと理解する必要があります。「プレーンバニラ」サーブレットとJSPを使用すると、開発が容易になります。しかし、サイトが境界を越えて成長し、一般的なタスクのコピーペースト/リファクタリングを開始するときはいつでも、事前にMVCフレームワークを選択しておけば幸いです。
Beanは、データを表すために使用されます。プロセスを制御するには、サーブレットを使用する必要があります。
MVC(Model、View、Controller)パターンでは、Beanはデータ中心であり、データを表し、ドメインオブジェクトまたは単純なデータ構造として機能するモデルになります。
サーブレットは、正しいモデルを呼び出し、正しい順序でディスパッチするコントローラーです。これらを使用して、ユーザーリクエストを取得し、モデルが操作するための適切な入力に変換できます。
答えは非常に高いレベルであることは知っていますが、MVCパターンを読んでみると、アイデアがより良くなります。