JavaServer Pages 第2版

[cover photo]
この商品は品切れ再入荷未定です

本書はWebアプリケーション開発のための技術であるJavaServer Pages(JSP)の本格的な解説書です。JSP 1.2およびJSTL 1.0のすべての要素の使い方を具体的に解説するとともに、サーブレットとの連携、JavaBeansコンポーネントにアクセスする方法、処理を複数のページに分割して再利用性と保守性を高める方法から、JSTLによる効率的な開発方法、データベースとの連動、国際化、XML処理など本格的なWebアプリケーション開発に欠かせない高度なテクニックまでを解説しています。さらにはJSPを拡張するためのカスタムコンポーネントの開発方法を豊富なサンプルをもとに解説します。1冊でJSPのすべてがわかる本書はWebアプリケーション開発者必携です。

はじめに

I部      JSPアプリケーションの基礎

1章      JavaServer Pages入門
        1.1     JavaServer Pagesとは何か?
        1.2     なぜJSPを使うのか?
                1.2.1 HTMLページへの動的要素の埋め込み
                1.2.2 コンパイル
                1.2.3 的確な役割分担
                1.2.4 Enterprise Java API群との統合
                1.2.5 JSP以外の技術
                1.2.6 JSPの強味
        1.3     JSPを使うのに必要なもの


2章      HTTPとサーブレットの基本
        2.1     HTTPのリクエスト/レスポンスモデル
                2.1.1 リクエストの詳細
                2.1.2 レスポンスの詳細
                2.1.3 リクエストパラメータ
                2.1.4 リクエストメソッド
        2.2     サーブレット
                2.2.1 他のサーバサイドテクノロジーに優る利点
                2.2.2 サーブレットコンテナ
                2.2.3 サーブレットコンテキストとWebアプリケーション


3章      JSPの概要
        3.1     サーブレットに特有の問題
        3.2     JSPページの内部構造
        3.3     JSPの処理
                3.3.1 JSP要素
        3.4     MVCによるJSPアプリケーションデザイン


4章      JSP環境のセットアップ
        4.1     Java Software Development Kitのインストール
        4.2     Tomcatサーバのインストール
                4.2.1 Windowsプラットフォーム
                4.2.2 Unixプラットフォーム(LinuxおよびMax OS Xを含む)
        4.3     Tomcatの動作テスト
        4.4     本書のサンプルのインストール方法
        4.5     本書のWebアプリケーションの概要

II部     JSPアプリケーションの開発

5章      動的なWebページの生成
        5.1     JSPページの作成
        5.2     JSPページのインストール
        5.3     JSPページの実行
        5.4     JSPディレクティブ要素の使い方
                5.4.1 JSPコメント
        5.5     テンプレートテキスト
        5.6     アクション要素
                5.6.1 JSP標準タグライブラリ


6章      JSPページでのJavaBeansの利用法
        6.1     Beanとは何か?
        6.2     JSPページにおけるBeanの宣言
        6.3     Beanプロパティの読み出し
                6.3.1 アクションを使う方法
                6.3.2 JSTL式言語の使用方法
                6.3.3 JSPによる画像の取り込み
        6.4     Beanプロパティの設定
                6.4.1 自動的な型変換


7章      カスタムタグライブラリとJSP標準タグライブラリ
        7.1     カスタムタグライブラリとは
        7.2     カスタムタグライブラリのインストール
        7.3     カスタムタグライブラリの宣言
                7.3.1 JSP1.1のコンテナでカスタムタグライブラリを識別する方法
        7.4     タグライブラリのアクションの利用法
                7.4.1 アクションの属性値の設定
                7.4.2 JSP標準タグライブラリ
                7.4.3 Beanまたはカスタムアクションの利用


8章      入出力の処理
        8.1     リクエストパラメータの読み取り
                8.1.2 他のリクエストデータへのアクセス
                8.1.3 Beanによるパラメータ値の取得
        8.2     ユーザ入力の検証
                8.2.1 JSTLアクションによるユーザ入力の検証
                8.2.2 Beanによるユーザ入力の検証
        8.3     HTML出力の整形


9章      エラー処理とデバッグ
        9.1     構文エラー
                9.1.1 要素に関連する構文エラー
                9.1.2 JSTL式言語の構文エラー
        9.2     JSPアプリケーションのデバッグ
        9.3     実行時エラーの処理
                9.3.1 例外の捕捉


10章     JSPページ、リクエスト、ユーザ間のデータ共有
        10.1    ページ間における制御とデータの受け渡し
                10.1.1 ページ間にまたがる制御の受け渡し
                10.1.2 ページ間にまたがるデータの受け渡し
                10.1.3 データと制御の受け渡し
        10.2    セッションデータとアプリケーションデータの共有
                10.2.1 セッショントラッキング
                10.2.2 ヒット件数のカウント
                10.2.3 URLリライティング
        10.3    オンラインショッピング
                10.3.1 数値の整形
                10.3.2 リクエストパラメータのインデックスとしての利用
                10.3.3 リダイレクトとフォワード
        10.4    メモリ使用方法についての考察


11章     データベースアクセス
        11.1    JSPページによるデータベースアクセス
                11.1.1 サンプルアプリケーションの構造
                11.1.2 サンプルのテーブル
                11.1.3 DataSourceインターフェイスとJDBCドライバ
                11.1.4 データベースの読み出しと書き込み
                11.1.5 クエリー結果によるHTMLの生成
                11.1.6 部分的な情報による行の検索
                11.1.7 データベース情報の削除
                11.1.7 複数ページにまたがるデータベースデータの表示
        11.2    複雑な入力をBeanを使用しないで検証する
        11.3    トランザクションの利用
        11.4    アプリケーション専用のデータベースアクション


12章     認証と個別サービス
        12.1    コンテナによる認証
                12.1.1 ユーザの認証
                12.1.2 Webリソースへのアクセス制御
        12.2    アプリケーションによる認証
                12.2.1 個別化のための情報テーブル
                12.2.2 ログイン
                12.2.3 データベースを利用した認証
                12.2.4 セッションの妥当性の検査
                12.2.5 ユーザプロフィールの更新
                12.2.6 ログアウト
        12.3    セキュリティに関するその他の事項


13章     国際化
        13.1    Javaによる国際化とローカライゼーション
                13.1.1 ロケールクラス
                13.1.2 数値と日付の形式化
                13.1.3 ローカライズされたテキストの利用
        13.2    ローカライズされたテキストの生成
                13.2.1 単一ページで複数のロケールに対応する方法
                13.2.2 ロケールごとに独立したページを利用する方法
        13.3    ビット小史
        13.4    ローカライズされた入力の処理
                13.4.1 非西欧文字による入力の処理方法


14章     XMLとの連携
        14.1    XMLレスポンスの生成
        14.2    XMLからHTMLへの変換
        14.3    XMLのデバイス依存形式への変換
        14.4    XMLデータの処理
                14.4.1 データのキャッシング
                14.4.2 XMLデータの解析(パース)
                14.4.3 XPath式によるXMLデータのアクセス


15章     スクリプティング要素
        15.1    pageディレクティブのスクリプティング属性
        15.2    暗黙のJSPスクリプティングオブジェクト
        15.3    JSPスクリプトレット
        15.4    JSP式
        15.5    JSP宣言
                15.5.1 jspInit( )とjspDestroy( )
        15.6    アクション要素とスクリプティング要素の混在
                15.6.1 式要素による属性の設定
                15.6.2 JSTLによるリクエスト時属性値の使用
                15.6.3 スクリプティングコードによるスコープ変数のアクセス
        15.7    スクリプティングの構文エラー
                15.7.1 構文エラーを起こすスクリプティングの例


16章     その他のテクニック
        16.1    バッファリング
        16.2    ページの断片をインクルードする
        16.3    クライアントサイドとサーバサイドコードの混在
                16.3.1 JavaScriptコードの生成
                16.3.2 Javaアプレットの利用
        16.4    JSPページのプリコンパイル
        16.5    JSPページのキャッシュ防止
        16.6    JSPページをXML文書として記述する
        16.7    URIの解釈方法

III部    J2EEにおけるJSPとJSPコンポーネント開発

17章     Webアプリケーションモデル
        17.1    Java 2 Enterprise Editionモデル
        17.2    MVCデザインモデル
                17.2.1 JSPだけで構成するモデル
                17.2.2 サーブレットとJSPによるモデル
                17.2.3 サーブレット、JSP、およびEJBによるモデル
        17.3    スケーラビリティ
                17.3.1 分散システムの配備


18章     JSPとサーブレットを組み合わせる
        18.1    サーブレット、フィルタ、リスナ
                18.1.1 サーブレットのライフサイクル
                18.1.2 サーブレットのコンパイルとインストール
                18.1.3 リクエストの読み取り
                18.1.4 レスポンスの生成
                18.1.5 フィルタとリスナの使用方法
                18.1.6 各種コンポーネント間におけるデータの共有
        18.2    適切なコンポーネントの選択基準
        18.3    リスナによる共有リソースの初期化
        18.4    フィルタを使ったアクセス制御
        18.5    サーブレットを使ったリクエスト処理の一元化
                18.5.1 Strutsによるリクエスト処理の概要
                18.5.2 アプリケーションリクエストをサーブレットにマッピングする
                18.5.3 アクションクラスへのリクエストのディスパッチ
                18.5.4 アクションクラスを実装する
                18.5.5 リクエストを処理する
                18.5.6 JSPページからコントローラサーブレットを呼び出す
        18.6    共通のJSPエラーページを使う


19章     JSPのためのJavaBeansコンポーネント開発
        19.1    JSPコンポーネントとしてのBean
                19.1.1 JavaBeansの命名規則
        19.2    JSP Beanの例
                19.2.1 値Bean
                19.2.2 ユーティリティBean
                19.2.3 マルチスレッドに関する考察
        19.3    の予期せぬ動作


20章     カスタムタグライブラリの開発
        20.1    タグ拡張の基礎
        20.2    簡単なアクションの開発
        20.3    反復アクションの開発
        20.4    アクションのボディを処理する
                20.4.1 空要素の扱い方
        20.5    例外処理
        20.6    タグハンドラのライフサイクルとその意味
                20.6.1 オプションの属性にデフォルト値を与える
                20.6.2 呼び出し毎の状態のリセット
                20.6.3 タグハンドラのインスタンスが存在する間は高価なリソースを保持する
        20.7    タグライブラリ記述子の作成
                20.7.1 汎用のライブラリ要素
                20.7.2 バリデータとリスナ要素
                20.7.3 タグ要素
                20.7.4 JSP 1.1とJSP 1.2におけるTLDの違い
        20.8    タグライブラリのパッケージ化とインストール
                20.8.1 タグライブラリファイルをコンテナから利用する方法
                20.8.2 JSPページにおけるタグライブラリを識別する
                20.8.3 複数のライブラリを1つのJARファイルにパッケージ化する


21章     カスタムタグライブラリのより高度な機能
        21.1    連動するアクションの開発方法
                21.1.1 親子関係による明示的な連動
                21.1.2 変数を介した暗黙の連動
        21.2    構文の検証
                21.2.1 TLDによる検証
                21.2.2 TagLibraryValidatorの使用法
                21.2.3 TagExtraInfoクラスによる検証
        21.3    タグライブラリでのリスナの使用
        21.4    動的属性の値と型
                21.4.1 コンテナによる変換
                21.4.2 PropertyEditorを利用した変換


22章     カスタムコードとJSTLの統合
        22.1    カスタムアクションにおける式言語の使用
        22.2    コンフィギュレーション変数の設定と使用
        22.3    独自の条件アクションの統合
        22.4    独自の反復アクションを統合する
                22.4.1 独自の反復アクションを実装する
                22.4.2 反復アクションとのやり取り
        22.5    独自の国際化アクションを統合する
        22.6    独自のデータベースアクションを統合する
        22.7    JSTLタグライブラリのバリデータの使用方法


23章     データベースアクセスの高等戦術
        23.1    JDBCの基礎
        23.2    接続とコネクションプールの使用法
                23.2.1 JDBC 2.0オプションパッケージによるコネクションプール
                23.2.2 JDBC 1.0のコネクションプールをJDBC 2.0のコネクションプールのように動作させる
                 
        23.3    アプリケーションコンポーネントでコネクションプールを利用する
                23.3.1 アプリケーションスコープ変数の利用
                23.3.2 JNDIを使用する
        23.4    汎用のデータベースBeanを使用する
        23.5    アプリケーション固有のデータベースコンポーネントの開発

IV部     付録

付録A     JSP要素リファレンス
        A.1     ディレクティブ要素
        A.2     スクリプティング要素
        A.3     アクション要素
        A.3.1 カスタムアクション
        A.4     コメント
        A.5     エスケープ文字


付録B     JSTLアクションおよびAPIリファレンス
        B.1     JSTLライブラリのURIおよびデフォルトのプレフィックス
        B.2     コアライブラリアクション
        B.3     国際化と形式化アクション
        B.4     データベースアクセスアクション
        B.5     XML操作アクション
        B.6     サポートおよびユーティリティ型
        B.7     コンフィギュレーション設定


付録C     JSTL式言語リファレンス
        C.1     構文
                C.1.1 リテラル
                C.1.2 キーワードと予約語
        C.2     変数
                C.2.1 暗黙変数
        C.3     データ型
                C.3.1 型の変換規則
        C.4     式と演算子
                C.4.1 オペランドに適用される規則


付録D     JSP APIリファレンス
        D.1     暗黙変数
        D.2     暗黙変数でアクセス可能なその他のサーブレットタイプ
        D.3     タグハンドラタイプ
        D.4     タグライブラリのバリデーション(検証)タイプ
        D.5     他のJSPタイプ


付録E     本書のサンプルで使用したカスタムアクションとAPI
        E.1     汎用のカスタムアクション
        E.2     汎用のユーティリティクラス


付録F     Webアプリケーションの構造と配備記述子
        F.1     Webアプリケーションのファイル構造
                F.1.1 Javaクラスファイルを正しいディレクトリに配置する
        F.2     Webアプリケーションの配備記述子
        F.3     WARファイルの作成


索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]