Strutsを拡張した箇所について
現在strutsに含まれていないものの、当社のアプリケーションが必要としている機能として、下のようなものが考えられます。
- DBへのアクセス
- ログイン、ログアウト制御
- 画面毎のアクセス制御
これらの機能はstrutsが汎用性を持つためにあえて無視した機能であると考えますが、当社のアプリケーションでは必要であり、標準化することでメリットがあります。そこでコアではこれらの機能の実装を行いました。
strutsに登場するクラスのうち、以下のものを独自に拡張しました。
- Action → ExtededAction
- ActionMapping → ExtendedActionMapping
- ActionServlet → ExtendedActionServlet
- RequestProcessor → ExtendedRequestProcessor
さらに、struts-htmlカスタムタグのうち遷移系タグ(formタグ、linkタグ)を拡張し、遷移先ページのセキュリティ情報のチェックを行えるようにしました。また、linkタグを拡張したbuttonLinkタグを新たに作成しました。
これらの拡張により、以下のメリットが得られます。
- ログイン認証の標準化
- ページごとのセキュリティ処理の標準化・簡略化
(1)サーブレットコンテナ
↓
(2)ActionServlet
↓
(3)RequestProcessor
↓
(4)各Action

