本書はWebアプリケーション開発のための技術であるJavaServer Pages(JSP)の本格的な解説書です。JSP 1.2およびJSTL 1.0のすべての要素の使い方を具体的に解説するとともに、サーブレットとの連携、JavaBeansコンポーネントにアクセスする方法、処理を複数のページに分割して再利用性と保守性を高める方法から、JSTLによる効率的な開発方法、データベースとの連動、国際化、XML処理など本格的なWebアプリケーション開発に欠かせない高度なテクニックまでを解説しています。さらにはJSPを拡張するためのカスタムコンポーネントの開発方法を豊富なサンプルをもとに解説します。1冊でJSPのすべてがわかる本書はWebアプリケーション開発者必携です。
JavaServer Pages 第2版
Hans Bergsten 著、光田 秀 訳
![[cover photo]](https://www.oreilly.co.jp/books/images/picture_large4-87311-124-2.jpeg)
- TOPICS
- Programming , Web , Java
- 発行年月日
- 2003年05月
- PRINT LENGTH
- 732
- ISBN
- 4-87311-124-2
- 原書
- JavaServer Pages, 2nd Edition
- FORMAT
目次
はじめに 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ファイルの作成 索引