私のWebアプリケーションでは、データベースへの接続、ユーザー情報、テンプレート処理など、すべての「ページ」に特定の必要なものが必要です。最近まで、すべてを初期化する抽象サーブレットがありました上記のdoGet
ordoPost
メソッドで、抽象メソッドdoLocalLogic(HttpServletRequest req, HttpServletResponse res)
を定義し、メソッドから呼び出しますdoGet/doPost
。拡張クラスはすべて、データベース接続、ユーザー情報などを利用できます。残念ながら、これは悪い習慣であることが判明しました。
私が今考えているのは、それをすべて行う抽象クラスを作成することです。サーブレットのすべてのロジックはこのクラスの子に移動され、サーブレットはそれらの子のインスタンスを作成するだけです。
ただし、これにより、アプリのページごとに 1 つ以上のクラスが作成されます。さらに、新しいサーブレットを作成するときは、抽象サーブレットを作成する場合のように、オーバーライドする必要がある抽象メソッドの形式に何の手がかりもありません。
それを行うより良い方法はありますか?