ポケットリファレンスシリーズサーブレット&JSPポケットリファレンス

[表紙]サーブレッ

紙版発売
電子版発売

四六判/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とは

構成要素

  • サーバー/クライアント間の接続を管理する
  • 仮想ホストを定義する
  • アプリケーションの構成情報を定義する
  • データソースを定義する
  • ユーザー/ロール情報の保存先を定義する
  • リクエスト時に独自のフィルターを実行する

著者プロフィール

山田祥寛(やまだよしひろ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003 年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP.NET/IIS。執筆コミュニティ「WINGSプロジェクト」の代表でもある。
主な著書に『Ruby on Rails 4アプリケーションプログラミング』『Android エンジニアのためのモダンJava』『JavaScript本格入門』(以上、技術評論社)、『ASP.NET MVC5実践プログラミング』『はじめてのAndroidアプリ開発』(秀和システム)、『JavaScript逆引きレシピ jQuery対応』『10日でおぼえる入門教室シリーズ(jQuery・SQL Server・ASP.NET・JSP/サーブレット・PHP・XML)』『独習シリーズ(サーバサイドJava・PHP・ASP.NET)』(以上、翔泳社)、『書き込み式SQLのドリル』(日経BP社)など。また、@IT、CodeZineなどのサイトにて連載、『日経ソフトウエア』(日経BP社)などでも記事を執筆中。最近では、IT関連技術の取材、講演まで広くを手がける毎日である。最近の活動内容は、著者サイト(http://www.wings.msn.to/)にて。