プログラミングJakarta Struts
- Chuck Cavaness 著、長瀬 嘉秀 監訳、株式会社テクノロジックアート 訳
- 2003年06月 発行
- 448ページ
- ISBN4-87311-135-8
- フォーマット
- 原書: Programming Jakarta Struts
この商品は品切れ再入荷未定です
内容
Jakarta Strutsフレームワークは、JSPやJavaサーブレットを使ってWebアプリケーション開発する技術者の間で、現在最も人気のあるフレームワークです。本書はStrutsの概念やStrutsアプリケーションの設定方法から、MVCパターンの実装、さらにフレームワークの拡張、例外処理など、Strutsの基礎から実践までを豊富なサンプルと共に紹介します。
「多くのオープンソースパッケージでは、全機能を包括的に説明したガイドが欠けている。“hello, world”だけで終わってしまい、実際のアプリケーションにおける設計上の問題を解決するための説明が不足しているのだ。しかし本書は多くの開発者がまさに必要とする内容を扱った書籍であるといえる」
(Craig McClanahan、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プロジェクト 索 引