メモ
struts
最終更新:
urokun
-
view
共有オブジェクト
リクエストスコープ
public void setAttribute(String name, Object obj); public Object getAttribute(String name);
Strutsフレームワークはリクエスト内にJavaBeanを格納する機能を提供します。
そして、JSPなどプレゼンテーションコンポーネントがそのJavaBeanを使用する事ができます。
その結果、JavaBeanへのアクセスが容易になり、オブジェクトを後で手動クリーンアップする必要はありません。
セッションスコープ
複数のページリクエストをまたいでユーザを識別するために、Webコンテナはjavax.servlet.http.HttpSessionインタフェースを実装するオブジェクトを生成します。
アプリケーション配置記述子で不活性時間を設定する事ができます。
リクエストとの唯一の違いは、オブジェクトの持続時間です。
アプリケーションスコープ
アプリケーションスコープのオブジェクトは現在のWebアプリケーションのすべてのクライアントやスレッドから見えます。
プログラム的に削除される、またはアプリケーションが終了するまで存在します。
サーブレットコンテナは、コンテナ内にインストールされるすべてのWebアプリケーションごとに、javax.servlet.ServletContextインタフェースを実装するオブジェクトを生成します。
これは、コンテナが最初に起動するときに行われます。
ページスコープ
ページスコープのオブジェクトは各ページのjavax.servlet.jsp.PageContextに格納され、生成されたjsp内だけでアクセスできます。
フォワードとリダイレクト
リダイレクト
sendRedirect()メソッドを使用すると、Webコンテナは新しいURLを要求すべきだというレスポンスをブラウザに返します。
フォワード
リクエストに対してフォワードを呼び出すと、リクエストがサーバの別のリソースに転送されます。
そして別のリソースがリクエストを処理することはクライアントには知らされません。
フォワードは完全にサーバ上で行われ、クライアントとの通信が行われないので、リダイレクトよりもパフォーマンスが向上します。
strutsフレームワークのトップレベルパッケージ
action
コントローラクラス、ActionForm、ActionMessages、その他、必要なフレームワークコンポーネントを含む。
actions
アプリケーションで使用又は拡張できる、DispatchActionなどの、「出来合いの」Actionクラスを含む。
config
struts設定ファイルのメモリ内表現である設定クラスを含む。
taglib
strutsタグライブラリ用のタグハンドラクラスを含む。
tiles
tilesフレームワークで使用するクラスを含む。
upload
ブラウザを用いた、ローカルファイルシステム上のファイルのアップロードとダウンロードに使用するクラスを含む。
util
フレームワーク全体で使用される汎用ユーティリティクラスを含む。
validator
validatorを配置する際にstrutsが使用するstruts固有の拡張クラスを含む。
実際のvalidatorクラスとインタフェースはstrutsとは別のcommonsパッケージに存在する。