Pocket詳解 JSP&サーブレット辞典

概 要

本書は、サーバーサイド技術の主流である「JSP&サーブレット」によるアプリケーション開発の基礎から基本構文、API、実践的テクニックまでをコンパクトに凝縮したリファレンス書です。Servlet2.5+JSP2.1に対応したほか、Tomcat6.0、JavaSE 6、Windows、Linuxなど各種のプラットフォームにも対応しています。また、持ち運びに適したポケットサイズで、使いやすい索引、機能引きの目次、関係の深い機能へのリンク、豊富な用例、対応バージョンのアイコン表示など、徹底的に使いやすさを重視したJSP&サーブレットの総合辞典です。

著者 山田祥寛
価格 本体2200円(税別)
ISBN 978-4-7980-1669-6
発売日 2007/05/30
判型 四六
色数 2色
ページ数 496
CD/DVD
対象読者 初級
シリーズ Pocket詳解辞典
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第0章 イントロダクション

概要

JSP&サーブレットとはなにか?

JSPとサーブレットとを使い分ける意味

Java技術の構成

各種技術との比較

JSP&サーブレット利用に必要な環境

Linuxにおける環境設定(Fedora Core 6の場合)

Windowsにおける環境設定(Windows XPの場合)

Linux/Windows共通の環境設定

JSP&サーブレット活用のための基礎知識

Java APIリファレンスの活用方法

第1章 Java基本構文

概要

変数

キーワード

演算子

基本構文

変数/配列を宣言する

定数を宣言する

制御構文

単純な条件分岐を制御する if...else

多岐分岐を制御する switch...case

条件付きループを制御する while/do...while

繰り返し処理を行う for

現在のループをスキップする continue

ループを中断する break

例外処理を制御する try...catch...finally

データ型をキャスト処理する (type)

排他処理を制御する synchronized

コメントを記述する

クラス関連

クラスを定義する class

パッケージを宣言する package

パッケージ/クラスをインポートする import

メソッドを定義する

コンストラクタを定義する

インターフェイスを定義する interface

列挙型を定義する enum

第2章 サーブレット2.5 API

概要

サーブレット 2.5 API

javax.servlet.http.HttpServletクラス

サーブレットクラスを定義する doDelete/doGet/doHead/doOptions/doPost/doPut/doTrace

リクエストの最終更新日を取得する getLastModified

サーブレットクラスの初期化/終了処理を定義する init/destroy

サーブレット固有の初期化パラメータを取得する
getInitParameter/getInitParameterNames

コンテナにログ情報を記録する log

サーブレットのコンテキスト/設定情報を取得する
getServletContext/getServletConfig

javax.servlet.http.HttpServletRequestインターフェイス

リクエストパラメータを取得する getParameter/getParameterValues

すべてのリクエストパラメータを取得する getParameterNames/getParameterMap

クッキー情報を取得する getCookies

リクエストデータの文字エンコーディングを設定する setCharacterEncoding

ヘッダ情報を取得する getHeader/getDateHeader/getIntHeader

すべてのヘッダ情報を取得する getHeaderNames/getHeaders

リクエストデータをバイナリデータとして取得したい getInputStream

リクエスト属性を取得/設定/削除する
getAttribute/getAttributeNames/removeAttribute/setAttribute

リクエストデータに関する諸情報を取得する
getCharacterEncoding/getContentLength/getContentType/
getLocalAddr/getLocale/getLocales/getLocalName/
getLocalPort/getMethod/getProtocol/getQueryString/
getRemoteAddr/getRemoteHost/getRemotePort/
getScheme/getServerName/getServerPort/isSecure

認証に関わる諸情報を取得する
getAuthType/getRemoteUser/getUserPrincipal/isUserInRole

セッションに関わる諸情報を取得する
getSession/getRequestedSessionId/
isRequestedSessionIdFromCookie/isRequestedSessionIdFromURL/
isRequestedSessionIdValid

異なるサーブレットクラス/JSPページに処理を転送する

getRequestDispatcher

リクエストされたパスの情報を取得する
getContextPath/getPathInfo/
getPathTranslated/getRequestURI/
getRequestURL/getServletPath

リクエスト本体をReaderオブジェクトとして取得する getReader

javax.servlet.http.HttpServletResponseインターフェイス

バッファの内容を参照/制御する flushBuffer/getBufferSize/reset/resetBuffer/setBufferSize

出力のためのPrintWriterオブジェクトを生成する getWriter

HTTPヘッダが出力済みかどうかを確認する isCommitted

レスポンスデータに関する諸情報を取得する getCharacterEncoding/getContentType/getLocale

レスポンスデータに関する諸情報を設定する setCharacterEncoding/setContentLength/setContentType/setLocale

クッキーをクライアントに送信する addCookie

応答ヘッダ情報を発行する addHeader/addDateHeader/
addIntHeader/setHeader/setDateHeader/
setIntHeader/containsHeader

HTTPステータスコードを発行する setStatus/sendError

ページをリダイレクトする sendRedirect

クッキーが使えないブラウザにセッションIDを渡す encodeRedirectURL/encodeURL

バイナリデータを出力する getOutputStream

javax.servlet.ServletInputStreamクラス

リクエストデータをバイナリデータとして取得する read/readLine

javax.servlet.ServletOutputStreamクラス

バイナリデータを出力する print/println/write/flush/close

javax.servlet.ServletContextインターフェイス

複数ユーザ間でコンテキスト情報を共有する
getAttribute/getAttributeNames/removeAttribute/setAttribute

コンテナ標準のログファイルにログ情報を記録する log

他のアプリケーションコンテキストを取得する getContext

アプリケーション共通の初期化パラメータを取得する getInitParameter/getInitParameterNames

コンテナのバージョン/アプリケーション名/コンテキストパスを取得する

getMajorVersion/getMinorVersion/getServerInfo/
getServletContextName/getContextPath

ファイルのMIMEタイプを取得する getMimeType

別のサーブレット/JSPに処理を転送する getRequestDispatcher/getNamedDispatcher

指定されたパス配下の全ファイルを取得する getResourcePaths

仮想パスから絶対パスを取得する getRealPath

外部リソースの処理結果を取得する getResource/getResourceAsStream

javax.servlet.ServletConfigインターフェイス

サーブレット固有の初期化パラメータを取得する getInitParameter/getInitParameterNames

サーブレット名を取得する getServletName

サーブレットを実行中のコンテキストを取得する getServletContext

javax.servlet.http.HttpSessionインターフェイス

セッション属性を操作する
getAttribute/getAttributeNames/removeAttribute/setAttribute

セッションを破棄する invalidate

セッションに関わる諸情報を取得する
getCreationTime/getId/getLastAccessedTime/
getMaxInactiveInterval/getServletContext/isNew

セッションのタイムアウト時間を設定する setMaxInactiveInterval

javax.servlet.RequestDispatcherインターフェイス

リクエスト情報を転送する forward

外部ファイルをインクルードする include

javax.servlet.http.Cookieクラス

クッキー情報を設定する
Cookie/setComment/setDomain/setMaxAge/
setPath/setSecure/setValue/setVersion

クッキー情報を取得する
getComment/getDomain/getMaxAge/
getName/getPath/getSecure/getValue/getVersion

クッキー情報を複製する clone

javax.servlet.Filterインターフェイス

フィルタクラスを定義する init/doFilter/destroy

javax.servlet.FilterChainインターフェイス

フィルタチェーンの次のフィルタを起動する doFilter

javax.servlet.FilterConfigインターフェイス

フィルタを実行中のコンテキストを取得する getServletContext

フィルタ名/初期化パラメータを取得する
getFilterName/getInitParameter/getInitParameterNames

javax.servlet.ServletContextListenerインターフェイス

アプリケーション開始/終了時の挙動を規定する contextInitialized/contextDestroyed

javax.servlet.ServletContextAttributeListenerインターフェイス

コンテキスト属性の追加/削除/更新時の処理を規定する

attributeAdded/attributeRemoved/attributeReplaced

javax.servlet.http.HttpSessionListenerインターフェイス

セッション生成/破棄時の挙動を規定する sessionCreated/sessionDestroyed

javax.servlet.http.HttpSessionAttributeListenerインターフェイス

セッション属性の追加/削除/更新時の処理を規定する
attributeAdded/attributeRemoved/attributeReplaced

javax.servlet.http.HttpSessionBindingListenerインターフェイス

オブジェクトがセッションにバインド/アンバインドされた時の処理を規定する

valueBound/valueUnbound

javax.servlet.ServletRequestListenerインターフェイス

リクエスト処理開始/終了時の挙動を規定する requestInitialized

requestDestroyed

javax.servlet.ServletRequestAttributeListenerインターフェイス

リクエスト属性の追加/削除/更新時の処理を規定する
attributeAdded/attributeRemoved/attributeReplaced

javax.servlet.http.HttpServletRequestWrapper/HttpServletResponseWrapperクラス

HTTPリクエスト/レスポンスの処理をカスタマイズする

HttpServletRequestWrapper/HttpServletResponseWrapper

第3章 JSP(JavaServer Pages)2.1 基本構文

概要

JSPページの構造

ディレクティヴ

ディレクティヴとは?

ページ出力時のバッファ処理を有効にする @page(autoFlush/buffer)

ページのコンテンツタイプ/出力文字コードを宣言する

@page(contentType)

「.jsp」ファイルの文字コードを宣言する @page(pageEncoding)

使用する言語を設定する @page(language)

エラーページを設定する @page(errorPage/isErrorPage)

パッケージをインポートする @page(import)

ページに関する説明を記述する @page(info)

式言語を利用するかどうかを指定する @page(isELIgnored)

セッション機能を利用するかどうかを指定する @page(session)

ディレクティヴ宣言による空行の出力を抑制する @page(trimDirectiveWhitespaces)

外部ファイルをインクルードする @include

タグライブラリをページに登録する @taglib

タグファイルの基本情報を定義する @tag

タグファイル内で利用可能な属性を宣言する @attribute

タグファイル内で利用可能な変数を宣言する @variable

スクリプティング要素

変数/定数/ユーザ定義メソッドを宣言する <%!~%>

JSPページの初期化終了処理を定義する jspInit/jspDestroy

JSPページ内にコードを埋め込む <%~%>/<%=~ %>

コメントを定義する <%--~--%>

式言語(Expression Language)

式言語とは?

Expression Languageで出力式を表現する ${...}

式言語からJavaクラスの静的メソッドを呼び出す ${prefix:function}

アクションタグ

アクションタグとは?

ページの処理を転送する <jsp:forward>

外部ファイルをインクルードする <jsp:include>

JSPページ内でJavaBeansにアクセスする
<jsp:useBean>/<jsp:getProperty>/<jsp:setProperty>

属性値をタグ本体に記述する <jsp:attribute>

タグファイルからフラグメントを実行する <jsp:invoke>

タグ本体を定義する <jsp:body>

タグファイルからタグ本体を実行する <jsp:doBody>

JSPページをXML構文で記述する
<jsp:root>/<jsp:output>/<jsp:element>/<jsp:text>

プラグインを利用してJavaアプレットを表示する <jsp:plugin>

第4章 JSP(JavaServer Pages)2.1 API

概要

JSP(JavaServer Pages)2.1 API

javax.servlet.jsp.JspWriterクラス

バッファ処理を行う clear/clearBuffer/close/flush/
getBufferSize/getRemaining/isAutoFlush

クライアントに文字列を出力する print/println

改行文字を出力する newLine

javax.servlet.jsp.PageContextクラス

タグライブラリ内で暗黙オブジェクトを取得する getException/getOut/
getPage/getRequest/getResponse/getServletConfig/
getServletContext/getSession

エラー情報を取得する getErrorData

ページの処理を転送する forward

外部ページをインクルードする include

各スコープの属性を取得/設定する findAttribute/getAttribute/
getAttributeNamesInScope/getAttributeScope/
removeAttribute/setAttribute

javax.servlet.jsp.ErrorDataクラス

JSPページで発生したエラー情報を取得する ErrorData/getRequestURI/
getServletName/getStatusCode/getThrowable

javax.servlet.jsp.tagext.SimpleTagSupportクラス

シンプルなカスタムタグを定義する doTag

ページの実行コンテキストを取得する getJspContext

親タグへの参照を取得する getParent

上位タグへの参照を取得する findAncestorWithClass

フラグメントを取得する getJspBody

javax.servlet.jsp.tagext.JspFragmentクラス

フラグメントを実行する invoke

ページの実行コンテキストを取得する getJspContext

javax.servlet.jsp.tagext.DynamicAttributesインターフェイス

動的属性の値を処理する setDynamicAttribute

javax.servlet.jsp.tagext.TagSupportクラス

処理すべき本体を持たないタグハンドラクラスを定義する

doStartTag/doEndTag/doAfterBody/release

上位タグへの参照を取得する getParent/findAncestorWithClass

タグハンドラクラス内の値を取得/設定/削除する
getValue/getValues/removeValue/setValue

id属性の値を取得する getId

javax.servlet.jsp.tagext.BodyTagSupportクラス

本体付きのカスタムタグを処理する doInitBody/doAfterBody

javax.servlet.jsp.tagext.BodyContentクラス

タグ配下のテキストを操作する
getString/getReader/clearBody/writeOut

javax.servlet.jsp.tagext.TagExtraInfoクラス

追加情報クラスでスクリプティング変数を定義する getVariableInfo

カスタムタグの妥当性を検証する isValid/validate

カスタムタグの情報を取得する getTagInfo

javax.servlet.jsp.tagext.VariableInfoクラス

スクリプティング変数に関する情報を定義する VariableInfo

javax.servlet.jsp.tagext.TryCatchFinallyインターフェイス

例外発生時の処理を定義する doCatch/doFinally

javax.servlet.jsp.tagext.TagLibraryValidatorクラス

タグライブラリの妥当性を検証する validate/getInitParameters/release

第5章 デプロイメントディスクリプタ

概要

デプロイメントディスクリプタとは?

構成要素

初期化パラメータを設定する <context-param>

セッションのタイムアウト時間を設定する <session-config>

アプリケーションの基本情報を定義する
<description>/<display-name>/<icon>/<distributable>

フィルタの設定を行う <filter>/<filter-mapping>

イベントリスナを登録する <listener>

サーブレットクラスの設定を定義する <servlet>/<servlet-mapping>

MIMEタイプを設定する <mime-mapping>

ウェルカムページを指定する <welcome-file-list>

エラーページを設定する <error-page>

JSPページに関わる情報全般を設定する <jsp-config>

特定のフォルダに対して認証設定を行う
<security-constraint>/<login-config>/<security-role>

外部リソースへの参照名を定義する <resource-ref>

ロケールと文字エンコーディングのマッピングリストを定義する

<locale-encoding-mapping-list>

第6章 タグライブラリディスクリプタ

概要

タグライブラリディスクリプタとは?

構成要素

タグライブラリの基本情報を定義する
<description>/<display-name>/
<icon>/<tlib-version>/<short-name>/<uri>

リスナクラスを登録する <listener>

タグライブラリを含むJSPページの妥当性を検証する

カスタムタグの情報を定義する <tag>

タグファイルの情報を定義する <tag-file>

カスタム関数の情報を定義する <function>

第7章 JSTL(JSP Standard Tag Library)

概要

JSTL(JSP Standard Tag Library)とは?

Coreタグライブラリ

変数を出力する <c:out>

変数を設定/削除する <c:set>/<c:remove>

ページをリダイレクトする <c:redirect>

単純分岐を実現する <c:if>

多岐分岐を実現する <c:choose>

繰り返し処理を行う <c:forEach>

文字列を特定の区切り文字で分割する <c:forTokens>

外部ファイルをインポートする <c:import>

URL文字列をエンコードする <c:url>

例外処理を定義する <c:catch>

Databaseタグライブラリ

データベースへの接続を確立する <sql:setDataSource>

データベースから結果セットを取得する <sql:query>

データベースの内容を登録/更新/削除する <sql:update>

トランザクションを定義する <sql:transaction>

I18nタグライブラリ

リクエストの文字エンコーディングを設定する <fmt:requestEncoding>

数値データを整形する <fmt:formatNumber>

文字列を数値データに変換する

日付データを整形する <fmt:formatDate>

文字列を日付データに変換する <fmt:parseDate>

ロケールを設定する <fmt:setLocale>

タイムゾーンを設定する <fmt:timeZone>/<fmt:setTimeZone>

リソースメッセージを取得する(1) <fmt:setBundle>/<fmt:message>

リソースメッセージを取得する(2) <fmt:bundle>

Xmlタグライブラリ

XML文書を解析する <x:parse>

XML文書からノード値を取得する <x:out>/<x:set>

取得したノード群について繰り返し処理を行う <x:forEach>

XPath式による単純分岐を実現する <x:if>

XPath式による多岐分岐を実現する <x:choose>

XML文書をXSLTスタイルシートで変換する <x:transform>

Functionsタグライブラリ

文字列に部分文字列が含まれているかを確認する fn:contains/fn:containsIngnoreCase

文字列の前後から空白を除去する fn:trim

文字列の登場位置を検索する fn:indexOf

指定された文字列を置き換える fn:replace

文字列が指定された部分文字列で開始/終了するか fn:startsWith/fn:endsWith

文字列を指定された区切り文字で分割する fn:split

文字列から部分文字列を取得する fn:substring/fn:substringAfter/fn:substringBefore

配列の中身を指定された区切り文字で連結する fn:join

文字列を大文字⇔小文字に変換する fn:toLowerCase/fn:toUpperCase

文字列をXML予約文字でエスケープする fn:escapeXml

コレクション/配列のサイズや文字列の長さを取得する fn:length

第8章 Jakarta TagLibs

概要

Jakarta TagLibsとは?

Benchmarkタグライブラリ

JSPページのパフォーマンステストを行う
<benchmark:duration>/<benchmark:exclude>

Cacheタグライブラリ

JSPページの一部をキャッシングする <cache:cache>/<cache:invalidate>

DateTimeタグライブラリ

現在時刻を取得する <dt:currentTime>

日付データを加工する <dt:format>/<dt:timeZone>

日付データに関する各種情報を一覧表示する
<dt:timeZones>/<dt:months>/
<dt:weekdays>/<dt:amPms>/<dt:eras>

Mailerタグライブラリ

カスタムタグで電子メールを送信する
<mt:mail>/<mt:server>/<mt:message>/<mt:header>/
<mt:setrecipient>/<mt:addrecipient>/<mt:replyto>/<mt:from>/<mt:attach>
/<mt:subject>/<mt:send>/<mt:error>

Randomタグライブラリ

ランダムな文字列/数値を生成する <rand:string>/<rand:number>

Regexpタグライブラリ

正規表現による文字列検索を行う <rx:regexp>/<rx:text>/<rx:match>

正規表現によるマッチング結果を判定する <rx:existsMatch>

正規表現検索によるサブマッチング情報を取得する <rx:group>

正規表現で文字列の置換を行う <rx:substitute>

正規表現による文字列の分割を行う <rx:split>

Stringタグライブラリ

指定文字列を繰り返し出力する <str:repeat>

大文字⇔小文字を変換する <str:capitalize>/<str:uncapitalize>/
<str:capitalizeAllWords>/<str:swapCase>

末尾の一文字を取り除く <str:chop>/<str:chopNewline>

文字列をエスケープする <str:escape>/<str:quoteRegexp>

文字列を逆順にする <str:reverse>

文字列からタグを取り除く <str:removeXml>

URL文字列をエンコード/デコードする <str:encodeUrl>/<str:decodeUrl>

文字の登場回数をカウントする <str:count>

特定の文字セットを削除する <str:delete>

文字列を圧縮する <str:squeeze>

区切り文字で文字列を反転する <str:reverseDelimitedString>

特定範囲の文字列を置き換える <str:overlay>

文字列を左/中央/右寄せする <str:leftPad>/<str:center>/<str:rightPad>

特定文字以前/以降の文字列を取得/削除する <str:chomp>/<str:getChomp>/<str:prechomp>/<str:getPrechomp>

文字列の前後から特定文字を取り除く <str:strip>/<str:stripStart>/<str:stripEnd>

文字列から部分文字列を取り出す <str:substring>/<str:left>/<str:right>/<str:mid>

ワードラップを制御する <str:wordWrap>

部分文字列の間にはさまれた文字列を取得する <str:nestedString>

文字列を置き換える <str:replace>

部分文字列の登場回数をカウントする <str:countMatches>

一定文字数以降を省略する <str:truncateNicely>

Appendix 関連資料

Appendix A Server.xml

Appendix B Tomcat Manager

Appendix C Tomcat Administration Tool

Appendix D 統合開発環境Eclipse

PR

秀和システム