明確にした後、単純なWebアプリ(フレームワークなし)をどのように構成するかを書き留めておきます。
- スタートアップサーブレット。グローバルなものを初期化し、リソース(db pools、jms)をチェックするだけです。init()メソッドのみが実装され、順序0でロードされます。
- ログインサーブレット。メインビューとしてログインjspがあります。
- ユーザーをログインサーブレット(web.xml内)にリダイレクトする一連のウェルカムページ
- ダッシュボードサーブレット。メニューをインストルメントするビューとしてシンプルなjspを使用し、アプリの開始点として最適です。
この後、すべてのアクション/メニューは、すべての基本的な処理を実行し、jspビューにリダイレクトする1つ以上のサーブレットにマップされます。
通常、私は各リクエストを単一のサーブレット、doGet()またはdoPost()メソッドに管理しますが、これは必須ではなく、実行している内容によって異なります。
たとえば、レポートを生成する必要があり、この生成に時間がかかる場合、サーブレットはレポート要求をどこかにキューイングし(JMSキューまたはQuartzタスクを開始)、要求が行われたことを示すサービスページでブラウザに制御を戻します。キューに入れられました。
Web UIからの単一のリクエストが、より多くの「サーブレット」に機能的に影響を与えるシナリオもあります。そのようなシナリオでは、RequestDispatcherユーティリティを使用してリクエストをチェーンします。
これを行うとコードが重複する可能性があるため、ビジネスクラスツリーを適切に設計する必要があります。サーブレット間で共有される共通のビジネスコード(コントローラーのように、ユーザー入力、ビジネスロジック、およびデータロジック間の接着剤として機能します^^)