プログラミングJakarta Struts

[cover photo]
TOPICS
Programming , Java
発行年月日
PRINT LENGTH
448
ISBN
4-87311-135-8
原書
Programming Jakarta Struts
FORMAT
Print
4,840円
この商品は品切れ再入荷未定です

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プロジェクト
索 引