プログラミングJakarta Struts

目次


監訳者まえがき
まえがき

1章	はじめに 	 1
	1.1	Webの簡単な歴史
	1.2	Javaサーブレットとは
	1.3	JSP(JavaServer Page)
	1.4	JSP Model 1とModel 2のアーキテクチャ
	1.5	MVCの重要性
		1.5.1 MVCのモデル
		1.5.2 MVCのビュー
		1.5.3 MVCのコントローラ
	1.6	フレームワークとは
	1.7	Strutsフレームワークの作成
		1.7.1 Strutsプロジェクトへの貢献
	1.8	Strutsの代替となるフレームワーク
		1.8.1 独自フレームワークの構築
		1.8.2 Barracuda
		1.8.3 Cocoon
		1.8.4 Expresso
		1.8.5 Freemarker、Velocity、WebMacro
		1.8.6 Maverick
		1.8.7 SiteMesh
		1.8.8 Jakarta Turbine
		1.8.9 WebWork
		1.8.10 JavaServer Faces
2章	Web層の内部
	2.1	アーキテクチャの概略
		2.1.1 クライアント層
		2.1.2 Web層
		2.1.3 中間層
		2.1.4 EIS層
		2.1.5 Strutsの適合個所
	2.2	HTTPリクエスト/レスポンスフェーズ
		2.2.1 HTTPリクエスト
		2.2.2 HTTPレスポンス
		2.2.3 HTTPとHTTPS
	2.3	Strutsとスコープ
		2.3.1 リクエストスコープ
		2.3.2 セッションスコープ
		2.3.3 アプリケーションスコープ
		2.3.4 ページスコープ
	2.4	URLパラメタの使用
	2.5	フォワードとリダイレクト
		2.5.1 リダイレクトの使用
		2.5.2 フォワードの使用
		2.5.3 Strutsに適しているのはどちらか
3章	Strutsフレームワークの概要
	3.1	銀行口座の例
	3.2	全体像の把握
		3.2.1 Strutsのコンポーネントパッケージ
	3.3	Strutsコントローラのコンポーネント
		3.3.1 StrutsのActionServlet
		3.3.2 StrutsのActionクラス
		3.3.3 アクションのマッピング
		3.3.4 次のビューの決定
	3.4	Strutsのモデルコンポーネント
	3.5	Strutsのビューコンポーネント
		3.5.1 StrutsのActionFormの利用
		3.5.2 プレゼンテーションでのJSPの使用
		3.5.3 カスタムタグライブラリの使用
		3.5.4 メッセージリソースバンドルの使用
	3.6	マルチアプリケーションサポート
	3.7	まとめ
4章	Strutsアプリケーションの設定
	4.1	Storefrontアプリケーション
	4.2	Webアプリケーションとは
		4.2.1 Webアプリケーションの要素
	4.3	Webアプリケーションのディレクトリ構造
		4.3.1 WARファイル
	4.4	Webアプリケーションの配置記述子
		4.4.1 Webアプリケーションの配置記述子のDTD
	4.5	Struts用のweb.xmlファイルの設定
		4.5.1 ActionServletのマッピング
		4.5.2 複数のアプリケーションモジュールの指定
		4.5.3 初期化パラメタの宣言
		4.5.4 タグライブラリの設定
		4.5.5 Welcomeファイルリストの設定
		4.5.6 web.xmlでのエラー処理設定
	4.6	Struts設定ファイル
		4.6.1 複数のアプリケーションモジュールの設定
	4.7	org.apache.struts.configパッケージ
		4.7.1 ApplicationConfigクラス
		4.7.2 Struts設定DTD
		4.7.3 完全なstruts-config.xmlファイル
		4.7.4 複数のアプリケーションモジュールの使用
		4.7.5 DOCTYPE要素の指定
	4.8	Digesterコンポーネント
	4.9	Struts Consoleアプリケーション
	4.10	設定ファイルのリロード
5章	Strutsのコントローラコンポーネント
	5.1	コントローラメカニズム
		5.1.1 ActionServletクラス
		5.1.2 RequestProcessorクラス
		5.1.3 Actionクラス
		5.1.4 マルチスレッド対応のActionクラスの作成
		5.1.5 ビジネスロジックとActionクラス
		5.1.6 事前構築されたStruts Actionの使用
	5.2	ユーティリティクラス
		5.2.1 RequestUtilsクラス
		5.2.2 ResponseUtilsクラス
		5.2.3 Commons BeanUtilsパッケージ
		5.2.4 Commons Collectionsパッケージ
		5.2.5 Actionクラスのセキュリティ
6章	Strutsのモデルコンポーネント
	6.1	MVCのM
		6.1.1 モデルの種類
	6.2	ビジネスオブジェクトとは
		6.2.1 ビジネスオブジェクトの要件
		6.2.2 ビジネスオブジェクトの重要性
	6.3	永続化
		6.3.1 ビジネスオブジェクトの永続化
		6.3.2 オブジェクトのリレーショナルモデルへの格納
	6.4	Strutsがモデルに提供する内容
	6.5	Storefrontモデルの作成
		6.5.1 リレーショナルデータベースへのアクセス
		6.5.2 Storefrontビジネスオブジェクトの作成
		6.5.3 Storefrontのデータモデル
		6.5.4 ビジネスオブジェクトのデータベースへのマッピング
		6.5.5 ORMフレームワーク
		6.5.6 Storefrontの永続化フレームワーク
		6.5.7 ビジネスデリゲートとDAOパターンの適用
	6.6	まとめ
7章	Strutsのビューコンポーネント
	7.1	ビューとは
		7.1.1 Strutsフレームワーク内のビューの使用
		7.1.2 ビューコンポーネント内でのJavaBeanの使用
	7.2	ActionFormとは
		7.2.1 ActionFormとスコープ
		7.2.2 ActionFormのライフサイクル
		7.2.3 ActionFormの作成
		7.2.4 Struts設定ファイルでのActionFormの設定
		7.2.5 ActionでのActionFormの使用
		7.2.6 ActionFormプロパティの文字列型宣言
		7.2.7 複数ページでのActionFormの使用
	7.3	ActionErrorsの使用
		7.3.1 ActionMessageクラス
		7.3.2 ActionクラスでのActionErrorsの生成
	7.4	プレゼンテーション検証の実行
	7.5	DynaActionFormクラスの使用
		7.5.1 DynaActionFormの設定
		7.5.2 DynaActionFormでの検証の実行
	7.6	JSFの展望
		7.6.1 JSFとStrutsとの関係
8章	JSPのカスタムタグライブラリ
	8.1	カスタムタグの概略
		8.1.1 タグとは
		8.1.2 JSPのカスタムタグとは
		8.1.3 タグライブラリとは
	8.2	Strutsに含まれるタグライブラリ
		8.2.1 Strutsアプリケーションでのタグライブラリの使用
	8.3	StrtusタグでのJavaBeanの使用
		8.3.1 シンプルなプロパティへのアクセス
		8.3.2 ネストされたプロパティへのアクセス
		8.3.3 インデックス化されたプロパティへのアクセス
	8.4	StrutsのHTMLタグ
		8.4.1 htmlタグ
		8.4.2 baseタグ
		8.4.3 formタグ
		8.4.4 複数のformタグの使用
		8.4.5 buttonとcancelタグ
		8.4.6 checkboxタグ
		8.4.7 messagesとerrorsタグ
		8.4.8 JavaScriptのイベントハンドラ
		8.4.9 HTMLのナビゲーション属性
	8.5	Logicタグ
		8.5.1 値比較
		8.5.2 部分文字列比較
		8.5.3 リダイレクトとフォワード
		8.5.4 コレクションユーティリティ
		8.5.5 メッセージとエラー
	8.6	Beanタグ
		8.6.1 defineタグ
		8.6.2 headerタグ
		8.6.3 includeタグ
		8.6.4 messageタグ
		8.6.5 parameterタグ
		8.6.6 resourceタグ
		8.6.7 writeタグ
	8.7	Templateタグ
	8.8	Nestedタグ
	8.9	他の有用なタグライブラリ
		8.9.1 JakartaのTaglibsプロジェクト
		8.9.2 JSPTags.com
	8.10	JSTL(JSP標準タグライブラリ)
		8.10.1 JSTLのコアタグ
		8.10.2 JSTLの国際化タグ
		8.10.3 JSTLのXMLタグ
		8.10.4 JSTLのSQLタグ
		8.10.5 新しい式言語
		8.10.6 JSTLの要件
		8.10.7 JSTLとStruts
9章	Strutsフレームワークの拡張
	9.1	拡張点とは
	9.2	一般的な拡張点
		9.2.1 プラグインメカニズムの使用
		9.2.2 Struts設定クラスの拡張
	9.3	コントローラの拡張点
		9.3.1 ActionServletクラスの拡張
		9.3.2 RequestProcessorクラスの拡張
		9.3.3 Action基底クラスの拡張
	9.4	ビューコンポーネントの拡張
		9.4.1 Strutsのカスタムタグの拡張
	9.5	モデルコンポーネントの拡張
		9.5.1 UserContainerとApplicationContainerクラス
	9.6	フレームワーク拡張の短所
10章	例外処理
	10.1	Javaの例外処理
		10.1.1 Javaの例外
		10.1.2 メソッド呼び出しスタック
		10.1.3 throws節について
		10.1.4 チェックされる例外とされない例外
		10.1.5 例外処理のパフォーマンスへの影響
	10.2	システム例外とアプリケーション例外
	10.3	チェーン化された例外
		10.3.1 複数の例外の対処
	10.4	Strutsが提供する例外処理
		10.4.1 宣言とプログラムによる例外処理
		10.4.2 プログラムによる例外処理
	10.5	未決事項の整理
		10.5.1 リモート例外の処理
		10.5.2 カスタムタグでの例外
		10.5.3 例外処理の国際化
	10.6	まとめ
11章	Validatorフレームワーク
	11.1	Validationフレームワークの必要性
	11.2	Validatorのインストールと設定
		11.2.1 必要なパッケージ
		11.2.2 検証ルールの設定
		11.2.3 Validatorの組み込み
	11.3	ActionFormでのValidatorの使用
	11.4	独自の検証ルールの作成
	11.5	ValidatorとJSPのカスタムタグ
		11.5.1 ValidatorでのJavaScriptの使用
	11.6	検証の国際化
	11.7	Struts以外でのValidatorの使用
		11.7.1 validation-rules.xmlの修正
12章	国際化とStruts
	12.1	国際化とは
	12.2	Javaでの国際化サポート
		12.2.1 Localeクラス
		12.2.2 Javaのリソースバンドル
		12.2.3 MessageFormatクラス
		12.2.4 多言語対応
	12.3	Strutsアプリケーションの国際化
		12.3.1 Strutsのリソースバンドル
		12.3.2 リソースバンドル名の指針
		12.3.3 リソースバンドルへのアクセス
		12.3.4 キャラクタセットの設定
	12.4	例外処理と国際化
13章	StrutsとEJB
	13.1	EJBを使用するStorefrontサービスの実装
		13.1.1 EJBの概略
		13.1.2 セッションファサード
		13.1.3 ビジネスインタフェース
		13.1.4 ステートレスセッションBeanの実装
		13.1.5 JBossの配置
	13.2	StrutsとEJBのインタフェース
		13.2.1 ビジネスデリゲートの使用
		13.2.2 EJBホームとリモート参照の管理
		13.2.3 動的プロキシの使用
	13.3	まとめ
14章	Tilesの使用
	14.1	テンプレートの理解
		14.1.1 テンプレートとは
	14.2	Tilesのインストールと設定
		14.2.1 Tilesのダウンロード
		14.2.2 必要なJARと他のファイルのインストール
		14.2.3 Tilesタグライブラリの追加
		14.2.4 Strutsで使用するためのTilesの設定
	14.3	Tilesの概要
		14.3.1 タイルとは
		14.3.2 レイアウトタイルの使用
		14.3.3 レイアウトの計画
		14.3.4 レイアウトへのパラメタ渡し
	14.4	Tilesタグライブラリ
		14.4.1 insertタグ
		14.4.2 definitionタグ
		14.4.3 putタグ
		14.4.4 putListタグ
		14.4.5 addタグ
		14.4.6 getタグ
		14.4.7 getAsStringタグ
		14.4.8 useAttributeタグ
		14.4.9 importAttributeタグ
		14.4.10 initComponentDefinitionsタグ
	14.5	定義の使用
		14.5.1 JSPでの定義宣言
		14.5.2 設定ファイルでの定義宣言
		14.5.3 タイル定義の拡張
		14.5.4 Strutsのフォワードとしての定義
	14.6	Tilesの国際化サポート
15章	Strutsアプリケーションでのロギング
	15.1	Webアプリケーションでのロギング
	15.2	ロギングでのサーブレットコンテナの使用
		15.2.1 フィルタの使用
		15.2.2 フィルタの作成
		15.2.3 イベントリスナの使用
		15.2.4 イベントリスナの作成
		15.2.5 イベントリスナクラスの作成
	15.3	JakartaのCommons Loggingパッケージ
		15.3.1 Commons Loggingパッケージのインストール
		15.3.2 Commons Logging APIの使用
		15.3.3 StrutsフレームワークとCommons Loggingパッケージ
	15.4	log4jパッケージの使用
		15.4.1 log4jとStrutsの統合
		15.4.2 ロガーとは
		15.4.3 log4j Appenderの設定
		15.4.4 log4jのログレベル
		15.4.5 log4jの初期化
		15.4.6 ログファイルのロールオーバ
	15.5	JSPでのCommons Loggingの使用
	15.6	log4jのパフォーマンスへの影響
	15.7	サードパーティのlog4j拡張
	15.8	Java 1.4のロギングAPI
16章	Strutsアプリケーションのパッケージ化
	16.1	パッケージ化の是非
		16.1.1 パッケージ化とは
		16.1.2 配置とは
	16.2	アプリケーションのパッケージ方法の決定
		16.2.1 名前空間管理
		16.2.2 JSPファイルを置く場所
		16.2.3 JSPのプリコンパイル
		16.2.4 EJBリソースとStrutsのパッケージ化
	16.3	WARファイルとしてのアプリケーションのパッケージ化
		16.3.1 WARファイルの作成
	16.4	Antを用いたStrutsアプリケーションのビルド
		16.4.1 Antとは
		16.4.2 Antのインストールと設定
		16.4.3 開始
		16.4.4 Javaソースファイルのコンパイル
		16.4.5 Antを用いたWARファイルのビルド
		16.4.6 クリーンアップ
	16.5	自動ビルド環境の設定
		16.5.1 cronを用いたAntの呼び出し
		16.5.2 Microsoftのタスクスケジューラの使用
	16.6	サーバの遠隔再起動
17章	パフォーマンスへの対処
	17.1	優れたパフォーマンスとは
	17.2	パフォーマンステストと負荷テスト
	17.3	パフォーマンステストとストレステストのツール
	17.4	Storefrontアプリケーションのテスト
		17.4.1 パフォーマンス目標の理解
		17.4.2 パフォーマンス基準の確立
		17.4.3 トラブル領域の発見
		17.4.4 ソフトウェアとハードウェアへの必要な変更
	17.5	パフォーマンスとスケーラビリティの理解
		17.5.1 リクエストスコープとセッション
		17.5.2 synchronizedキーワードの使用
		17.5.3 多すぎるカスタムタグの使用
		17.5.4 JVMの不適切なチューニング
		17.5.5 多すぎるリモートコールの使用
		17.5.6 多すぎる画像の使用
付録A	Struts 1.0からの変更点
	A.1	ActionServletとRequestProcessor
	A.2	StrutsのActionクラスに対する修正
	A.3	web.xmlとstruts-config.xmlへの変更
	A.4	Struts 1.1の新機能
		A.4.1 宣言による例外処理
		A.4.2 動的なActionForm
		A.4.3 プラグイン
		A.4.4 複数のアプリケーションモジュール
		A.4.5 Nestedタグ
	A.5	Struts Validator
		A.5.1 OROパッケージへの変更
	A.6	Commons Loggingへの変更
	A.7	Adminアクションの削除
	A.8	GenericDataSourceの非推奨
	A.9	Commonsプロジェクトへの依存
付録B	Strutsのダウンロードとインストール
	B.1	バイナリ配布とソース配布
		B.1.1 ソース配布からのStrutsのビルド
		B.1.2 バイナリ配布のインストール
	B.2	TomcatにStrutsをインストールする場合のヒント
	B.3	WebLogicにStrutsをインストールする場合のヒント
	B.4	WebSphereにStrutsをインストールする場合のヒント
	B.5	JRunにStrutsをインストールする場合のヒント
付録C	リソース
	C.1	Strutsのメーリングリスト.
	C.2	Strutsに関するWebページ
	C.3	Validatorのサイト
	C.4	Tilesのサイト
	C.5	Nestedタグのサイト
	C.6	Struts Console
	C.7	Easy Strutsプロジェクト
索 引

書籍紹介ページへ戻る


書籍についてのお問い合わせは以下までお願いします。

株式会社オライリー・ジャパン

〒160-0003 東京都新宿区本塩町7番地6 四谷ワイズビル
e-mail:japan@oreilly.com


書籍の購入方法トップページへ戻る