無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

【書評】サーブレット&JSPポケットリファレンス  -WINGSプロジェクト( @yyamada ) 

今回もWINGSプロジェクト様( @yyamada )で書籍レビュアーに応募させていただき書評を書かせていただくことになりました。
まずは、前回、前々回に引き続き応募を受けて下さったWINGSプロジェクトの皆様、著者の山田様ありがとうございます。
今後もどうぞよろしくお願い致します。

今回は表題にある以下の書籍を献本していただきましたので、こちらのレビューをさせていただきます。

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

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

まず、レビューの前に、前提として、私のサーブレットあるいはJSPを用いたWebシステム開発経験についてお話させてください。
経験としては約2年前の新人研修の課題作成時(サーブレット/JSP)、2014年12月から始まった現在のプロジェクト(サーブレット)のみで、とても短い期間となります。
それまでの間は、Webシステムではなく、画面がないIFシステムやSwingで画面を作っているようなプロジェクトばかり経験してきました。

よって、経験はかなり少ない中でのレビューとなりますので、内容についてはご容赦ください。

それでは、書籍についてのレビューをさせていただきます。
まず、リファレンスとしてやりたいことがすぐ見つかるという点では、現在行っている業務の中で使う分にはとても活用できています。
ターゲットとしては、以下の3つがあげられると思います。
サーブレット/JSPを使用しているプロジェクトで仕事をされている方
サーブレット/JSPを使用しているSpringFW当を使用しているプロジェクトで仕事をされている方
JavaでWeb開発の経験が少ない方

経験が長い方でも、リファレンスという点でかゆいところに手が届く内容なので手元においておくと便利だと思います。

個人的に使用していてうれしい点として、あまりWeb開発をしてこなかった身としては、イントロダクションという章を設けてあり基礎知識の確認ができたり、以下のコラムの内容などをはじめ、周辺技術についての補足がある点です。

コラムの目次
  Tomcat Web Application Manager
  Jasper JSP Engineの設定方法
  デフォルトサーブレットの設定
  JSPファイルの初回起動を高速化したい
  クラスローダーの仕組み
  サーブレットJSPをより深く学ぶための参考書籍

また、リファレンスではありますが、図がふんだんに使用されており、リファレンス以外の用途でも理解の再確認という用途でも使える内容となっています。
特に私は新人研修以来、Webシステム開発に携わっていなかったため、内容的に忘れている部分も多くとても助かりました。

以下、例として1つリファレンス本書にある画像を転載させていただきます。
※転載に問題がございましたら、ご指摘お願い致します!

コンパイルが必要なサーブレットコンパイル不要のJSP
f:id:noimpslmtbrk:20150207210607j:plain


最後に、WINGSプロジェクト様のページからの転載になりますが、
目次についても記載させていただきます。
もし、本レビューで書籍について興味をお持ちの方は、まずは書店にて中身を読んでみることをおすすめ致します。
また、JSP/サーブレットを学ぶにあたって、Webの基礎知識を押さえたいという方は以下の書籍も併せて読んでみることをおすすめ致します。

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか



目次参考URL
サーブレット&JSPポケットリファレンス - WINGS

CHAPTER 1 イントロダクション
概要
  サーブレットJSPとは何か
  サーブレットJSPとを使い分ける意味
  Java技術の構成
環境の準備
  JSPサーブレット利用に必要な環境
  開発/実行環境のインストール
プログラミングの基本
  サーブレットJSP活用のための基礎知識
CHAPTER 2 サーブレット API
概要
  サーブレット APIとは
基本
  サーブレットクラスを定義する
  サーブレットクラスの初期化/終了処理を定義する
  サーブレットクラスの情報を取得する
  コンテナーにログ情報を記録する
  サーブレット固有の初期化パラメーターを取得する
  サーブレット名を取得する
リクエスト情報
  リクエストデータの文字エンコーディングを設定する
  リクエストパラメーターを取得する
  複数値のリクエストパラメーターを取得する
  すべてのリクエストパラメーター名を取得する
  すべてのリクエストパラメーターを名前/値のマップとして取得する
  リクエストヘッダー情報を取得する
  リクエストヘッダー情報を取得する(専用メソッド
  複数のヘッダー値を取得する
  すべてのヘッダー名を取得する
  クッキー情報を取得する
  リクエストデータをバイナリデータとして取得する
  ファイルをアップロードする
  リクエスト属性を取得/設定/削除する
  認証情報を取得する
  セッションに関わる諸情報を取得する
  現在のセッションIDを変更する
  リクエストされたパスの情報を取得する
  リクエスト本体をReaderオブジェクトとして取得する
  独自の認証機能を実装する1
  ログアウト機能を実装する
  独自の認証機能を実装する2
  リクエスト情報を転送する
  外部ファイルをインクルードする
  サーブレットを非同期に実行する
レスポンス
  出力のための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 JSTLJSP Standard Tag Library)
概要
  JSTLとは
基本機能
  変数を出力する
  変数を設定する
  変数を破棄する
  処理を分岐する
  複数の条件で処理を分岐する
  指定回数だけ処理を繰り返す
  配列/コレクションを順番に処理する
  文字列を指定された区切り文字で分割する
  外部ファイルをインポートする
  ページをリダイレクトする
  URL文字列をエンコードする
  例外を処理する
データベース
  データベースへの接続を確立する
  データベースから結果セットを取得する
  データベースの内容を登録/更新/削除する
  トランザクションを定義する
  JSTLで利用するデフォルトの接続を定義する
  データベースから取得する最大レコード数を設定する
国際化
  リクエスト情報の文字コードを設定する
  ロケールを設定する
  デフォルトのロケールを宣言する
  タイムゾーンを設定する
  配下で有効なタイムゾーンを設定する
  デフォルトのタイムゾーンを宣言する
  数値データを決められたパターンで整形する
  数値データをユーザー定義の書式で整形する
  文字列を数値に変換する
  日付データを決められたパターンで整形する
  日付時刻値をユーザー定義の書式で整形する
  文字列を日付時刻値に変換する
  ロケール設定に応じてプロパティファイルを読み込む
  ロケール設定に応じてメッセージを切り替える
  リソースの共通の接頭辞を宣言する
  デフォルトのプロパティファイルを宣言する
  指定されたロケールが存在しない場合の代替ロケールを宣言する
XML
  XML文書を解析する
  XML文書からノード値を取得する
  取得したノード群を順番に処理する
  XPath式によって処理を分岐する
  XPath式によって処理を多岐分岐する
  XML文書をXSLTスタイルシートで整形する
文字列操作
  文字列を大文字⇔小文字に変換する
  文字列に含まれるXML予約文字でエスケープする
  文字列に部分文字列が含まれているかを確認する
  文字列の前後から空白を除去する
  文字列の登場位置を検索する
  文字列が指定された部分文字列で始まる/終わるかを判定する
  指定された文字列を置き換える
  文字列を指定された区切り文字で分割する
  文字列から部分文字列を取得する
  配列要素を指定された区切り文字で連結する
  コレクション/配列のサイズや文字列の長さを取得する
APPENDIX Server.xml
概要
  Server.xmlとは
構成要素
  サーバー/クライアント間の接続を管理する
  仮想ホストを定義する
  アプリケーションの構成情報を定義する
  データソースを定義する
  ユーザー/ロール情報の保存先を定義する
  リクエスト時に独自のフィルターを実行する

JavaScript逆引きレシピ jQuery対応 (PROGRAMMER’S RECiPE)

JavaScript逆引きレシピ jQuery対応 (PROGRAMMER’S RECiPE)

10日でおぼえるJSP&サーブレット入門教室 第4版

10日でおぼえるJSP&サーブレット入門教室 第4版

スッキリわかるサーブレット&JSP入門

スッキリわかるサーブレット&JSP入門

基礎からのサーブレット/JSP 第3版 (基礎からのシリーズ)

基礎からのサーブレット/JSP 第3版 (基礎からのシリーズ)