ポケットリファレンスシリーズサーブレット&JSPポケットリファレンス
2015年1月8日紙版発売
2015年1月8日電子版発売
山田祥寛 著
四六判/416ページ
定価2,948円(本体2,680円+税10%)
ISBN 978-4-7741-7078-7
書籍の概要
この本の概要
ロングセラーシリーズ・ポケットリファレンスに,Javaエンジニアには欠かせないサーブレット&JSPが新登場。ベーシックだけど忘れてしまいがちな情報をコンパクトなサイズに凝縮し,「逆引き形式で目的からすぐ探せる」「サンプルコードを見ながら具体的な実装のイメージがつかめる」といった特徴で,Webを見れない客先でも役立ちます。『JavaScript本格入門』の執筆や『Javaポケットリファレンス』の監修でおなじみの山田祥寛氏による信頼の1冊!
こんな方におすすめ
- Javaエンジニア
- サーブレット&JSPの新機能を知りたい方
著者の一言
サーブレット&JSPが独立した仕様として公開されたのは1998年(JSPは1999年)のことですから,じつに誕生から15年以上の年輪を刻んでいることになります。ドッグイヤーとも称されるこの業界においては,十分に枯れた技術と言ってよいでしょう。決して短くない歳月の中で着実に進化を重ね,そして,成熟した安心して学べる技術です。
近年のサーバーサイドJavaでは,Spring,JSF(JavaServer Faces),Strutsなどなどフレームワークを利用した開発があたりまえ。しかし,これらの技術も,多くはサーブレット&JSPをベースとした技術です。つまり,サーバーサイドJava開発に携わる限り,サーブレット&JSPはすべての基本――知っていてあたりまえの技術なのです。
本書は,このようなサーブレット&JSPについて,よく利用するであろう機能を厳選して,逆引きリファレンスの形式で紹介する書籍です。執筆にあたっては,できるだけ目的からたどりつきやすいように心がけました。サーブレット&JSPを利用したアプリケーション開発にあたって,本書が座右の一冊となれば幸いです。
なお,サーブレット&JSPの基本となる言語Javaについては,同シリーズの『Javaポケットリファレンス』も合わせてご利用ください。
目次
- はじめに
- 本書の使い方
CHAPTER 1 イントロダクション
概要
- サーブレット&JSPとは何か
- サーブレットとJSPとを使い分ける意味
- Java技術の構成
環境の準備
- JSP&サーブレット利用に必要な環境
- 開発/実行環境のインストール
プログラミングの基本
- サーブレット&JSP活用のための基礎知識
CHAPTER 2 サーブレット API
概要
- サーブレット APIとは
基本
- サーブレットクラスを定義する
- サーブレットクラスの初期化/終了処理を定義する
- サーブレットクラスの情報を取得する
- コンテナーにログ情報を記録する
- サーブレット固有の初期化パラメーターを取得する
- サーブレット名を取得する
リクエスト情報
- リクエストデータの文字エンコーディングを設定する
- リクエストパラメーターを取得する
- 複数値のリクエストパラメーターを取得する
- すべてのリクエストパラメーター名を取得する
- すべてのリクエストパラメーターを名前/値のマップとして取得する
- リクエストヘッダー情報を取得する
- リクエストヘッダー情報を取得する(専用メソッド)
- 複数のヘッダー値を取得する
- すべてのヘッダー名を取得する
- クッキー情報を取得する
- リクエストデータをバイナリデータとして取得する
- ファイルをアップロードする
- リクエスト属性を取得/設定/削除する
- 認証情報を取得する
- セッションに関わる諸情報を取得する
- 現在のセッションIDを変更する
- リクエストされたパスの情報を取得する
- リクエスト本体をReaderオブジェクトとして取得する
- 独自の認証機能を実装する①
- ログアウト機能を実装する
- 独自の認証機能を実装する②
- リクエスト情報を転送する
- 外部ファイルをインクルードする
- サーブレットを非同期に実行する
レスポンス
- 出力のためのPrintWriterオブジェクトを生成する
- HTTPヘッダーが出力済みかを判定する
- コンテンツタイプ/文字コード/ロケール情報を取得する
- コンテンツタイプ/コンテンツサイズ/文字コード/ロケール情報を設定する
- クッキーをクライアントに送信する
- 応答ヘッダーを発行する
- HTTPステータスコードを発行する
- HTTPステータス/レスポンスヘッダーを取得する
- ページをリダイレクトする
- バッファーの内容を参照/制御する
- クッキーが使えないブラウザーにセッションIDを渡す
- バイナリデータを出力する
- HTTPリクエスト/レスポンスの処理をカスタマイズする
セッション情報
- セッション属性を取得/設定/削除する
- セッションを破棄する
- セッションに関わる諸情報を取得する
- セッションのタイムアウト時間を設定する
コンテキスト情報
- 複数ユーザー間でコンテキスト情報を共有する
- ほかのアプリケーションコンテキストを取得する
- アプリケーション共通の初期化パラメーターを取得する
- アプリケーション共通の初期化パラメーターを設定する
- コンテナー/アプリケーションの情報を取得する
- ファイルのMIMEタイプを取得する
- 指定されたフォルダー配下のすべてのファイルを取得する
- 仮想パスを絶対パスに変換する
- 外部リソースを取得する
- 別のサーブレット/JSPに処理を転送する
- JSPページの構成情報を取得する
- セッションクッキーの設定情報を取得/設定する
- サーブレットの登録情報を取得する
- フィルターの登録情報を取得する
- サーブレット/フィルター/リスナーをインスタンス化する
- サーブレットをアプリケーションに登録する
- フィルターをアプリケーションに登録する
- リスナーをアプリケーションに登録する
- Jarファイルのサーブレット/フィルター/リスナーをアプリケーションに登録する
フィルター
- フィルタークラスを定義する
- フィルターチェーン上の次のフィルターを起動する
- フィルター名/初期化パラメーターを取得する
リスナー
- アプリケーション開始/終了時の挙動を定義する
- コンテキスト属性の追加/削除/更新時の処理を定義する
- セッション生成/破棄時の処理を定義する
- セッション属性の追加/削除/更新時の処理を定義する
- セッションIDが変更されたときの挙動を定義する
- オブジェクトがセッションにバインド/アンバインドされたときの処理を定義する
- リクエスト処理開始/終了時の処理を定義する
- リクエスト属性の追加/削除/更新時の処理を定義する
アノテーション
- サーブレットの基本情報を宣言する
- フィルターの基本情報を定義する
- サーブレット/フィルターの初期化パラメーターを定義する
- リスナークラスを定義する
- アップロードファイルの上限/一時保存先を設定する
- アクセス規則を定義する
CHAPTER 3 JSP基本構文
概要
- JSPの基本
ディレクティブ
- ディレクティブとは
- ページ出力時のバッファー処理を有効にする
- ページのコンテンツタイプ/出力文字コードを宣言する
- .jspファイルの文字コードを宣言する
- エラーページを設定する
- パッケージをインポートする
- 式言語を利用するかどうかを指定する
- セッション機能を利用するかどうかを指定する
- ディレクティブ宣言による空行の出力を抑制する
- ページに関する説明を記述する
- 外部ファイルをインクルードする
- タグライブラリをページに登録する
- タグファイルをページに登録する
- タグファイルの基本情報を定義する
- タグファイルで利用可能な属性を宣言する
- タグファイルで動的属性を利用する
- タグファイル内で利用可能な変数を宣言する
- スクリプティング変数の名前を.jspファイルで設定する
スクリプティング要素
- 変数/定数/ユーザー定義メソッドを宣言する
- JSPページの初期化/終了処理を定義する
- JSPページ内にコードを埋め込む
- コメントを定義する
式言語
- 式言語とは
- Expression Languageで式を出力する
- 式言語からJavaクラスの静的メソッドを呼び出す
アクションタグ
- アクションタグとは
- ページの処理を転送する
- 外部ファイルをインクルードする
- JSPページでJavaBeansをインスタンス化する
- JavaBeansのプロパティを設定する
- 属性値をタグ本体に記述する
- タグファイルからフラグメントを実行する
- タグ本体を定義する
- タグファイルからタグ本体を実行する
CHAPTER 4 JSP API
概要
- JSP(JavaServer Pages) APIとは
出力
- クライアントに文字列を出力する
- 改行文字を出力する
- 出力バッファーを制御する
コンテキスト情報
- タグハンドラークラスで暗黙オブジェクトを利用する
- エラー情報を取得する
- スコープ属性を取得/設定する
カスタムタグ
- 処理すべき本体を持たないカスタムタグを定義する
- 本体付きのカスタムタグを処理する
- シンプルなカスタムタグを定義する
- 上位タグへの参照を取得する
- タグ本体をフラグメントとして取得する
- フラグメントを実行する
- 動的属性の値を処理する
- タグハンドラークラスで利用する値を取得/設定/削除する
- タグ配下のテキストを操作する
- カスタムタグの妥当性を検証する
- タグライブラリの妥当性を検証する
CHAPTER 5 デプロイメントディスクリプター
概要
- デプロイメントディスクリプターとは
アプリケーション
- アプリケーションの基本情報を定義する
- 初期化パラメーターを設定する
- ウェルカムページを指定する
- エラーページを設定する
- 特定のフォルダーに対して認証を設定する
- 特定のHTTPメソッド以外のアクセスを禁止する
- 認証方法を定義する
- セッションに関する挙動を設定する
- MIMEタイプを設定する
- アプリケーションの構成情報を.jarファイルに分離する
サーブレット&JSP
- サーブレットクラスの設定を定義する
- JSPページの基本設定を宣言する
- JSPページで利用するタグライブラリを登録する
フィルター/リスナー
- フィルターを有効化する
- アプリケーションイベントのリスナーを登録する
CHAPTER 6 タグライブラリディスクリプター
概要
- タグライブラリディスクリプターとは
タグライブラリ
- タグライブラリの基本情報を定義する
- タグライブラリを含んだJSPページの妥当性を検証する
タグ/関数
- カスタムタグの情報を定義する
- 遅延評価の式言語を利用する
- 遅延評価式でメソッドを受け渡す
- タグファイルの情報を定義する
- Function(関数)の情報を定義する
CHAPTER 7 JSTL(JSP Standard Tag Library)
概要
- JSTLとは
基本機能
- 変数を出力する
- 変数を設定する
- 変数を破棄する
- 処理を分岐する
- 複数の条件で処理を分岐する
- 指定回数だけ処理を繰り返す
- 配列/コレクションを順番に処理する
- 文字列を指定された区切り文字で分割する
- 外部ファイルをインポートする
- ページをリダイレクトする
- URL文字列をエンコードする
- 例外を処理する
データベース
- データベースへの接続を確立する
- データベースから結果セットを取得する
- データベースの内容を登録/更新/削除する
- トランザクションを定義する
- JSTLで利用するデフォルトの接続を定義する
- データベースから取得する最大レコード数を設定する
国際化
- リクエスト情報の文字コードを設定する
- ロケールを設定する
- デフォルトのロケールを宣言する
- タイムゾーンを設定する
- 配下で有効なタイムゾーンを設定する
- デフォルトのタイムゾーンを宣言する
- 数値データを決められたパターンで整形する
- 数値データをユーザー定義の書式で整形する
- 文字列を数値に変換する
- 日付データを決められたパターンで整形する
- 日付時刻値をユーザー定義の書式で整形する
- 文字列を日付時刻値に変換する
- ロケール設定に応じてプロパティファイルを読み込む
- ロケール設定に応じてメッセージを切り替える
- リソースの共通の接頭辞を宣言する
- デフォルトのプロパティファイルを宣言する
- 指定されたロケールが存在しない場合の代替ロケールを宣言する
XML
- XML文書を解析する
- XML文書からノード値を取得する
- 取得したノード群を順番に処理する
- XPath式によって処理を分岐する
- XPath式によって処理を多岐分岐する
- XML文書をXSLTスタイルシートで整形する
文字列操作
- 文字列を大文字⇔小文字に変換する
- 文字列に含まれるXML予約文字でエスケープする
- 文字列に部分文字列が含まれているかを確認する
- 文字列の前後から空白を除去する
- 文字列の登場位置を検索する
- 文字列が指定された部分文字列で始まる/終わるかを判定する
- 指定された文字列を置き換える
- 文字列を指定された区切り文字で分割する
- 文字列から部分文字列を取得する
- 配列要素を指定された区切り文字で連結する
- コレクション/配列のサイズや文字列の長さを取得する
APPENDIX Server.xml
概要
- Server.xmlとは
構成要素
- サーバー/クライアント間の接続を管理する
- 仮想ホストを定義する
- アプリケーションの構成情報を定義する
- データソースを定義する
- ユーザー/ロール情報の保存先を定義する
- リクエスト時に独自のフィルターを実行する
この本に関連する書籍
-
ゼロからわかる サーブレット&JSP超入門
本書では,サーブレットやJSPを用いたWebシステム開発の基本を,わかりやすい解説と練習問題を通して理解することができます。最初に概要とJava言語の基本をおさらいし...
-
AndroidエンジニアのためのモダンJava
本書は,複雑かつ高度なAndroidアプリの開発に必要となる,Java言語の基礎を理解することに主眼を置いています。Android SDKについては触れず,Androidに関連するモダン...
-
Javaルールブック ~読みやすく効率的なコードの原則
「名前の付け方がバラバラでわかりづらい」「取りあえず動いているけど,どこかおかしい」……チームで開発にあたるプロジェクトでは致命的といえるそんな問題を解決する...