独習Java サーバサイド編 第2版(山田 祥寛)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 独習Java サーバサイド編 第2版

独習Java サーバサイド編 第2版


形式:
書籍
発売日:
ISBN:
9784798130491
定価:
3,960(本体3,600円+税10%)
仕様:
B5変・568ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
独習
紙の書籍
本書籍には新版があります
独習JSP&サーブレット 第3版

「JavaによるWebアプリ開発」定番入門書がパワーアップ

本書は、JavaによるWebアプリケーション開発の入門書です。サーバサイドJava開発の最も基本的な技術であるJSP&サーブレットから、DB連携、便利なライブラリの使い方まで、1つ1つやさしく丁寧に解説します。

HTTPリクエスト/レスポンス、クッキーやセッション情報など、Webアプリケーションの仕組み・重要キーワードもわかりやすく解説。第2版では、サーブレット3.0(Tomcat 7.0)に完全対応したほか、実践的なアプリケーションを開発する上で欠かせない「セキュリティ対策」の章を新設するなど、全面的な改訂を行っています。JavaでWebアプリケーションを作りたい、サーバサイドJavaを基礎から学びたい、という方におすすめの一冊です。

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

1.1 サーバサイドJavaとWebアプリケーション
 1.1.1 クライアント/サーバ間の通信
 1.1.2 静的なページと動的なページ
 1.1.3 クライアントサイド技術とサーバサイド技術
 1.1.4 サーバサイド技術の中のサーバサイドJava
 1.1.5 サーバサイドJavaとJSP&サーブレット
 1.1.6 JSPとサーブレットの使い分け
1.2 JSP&サーブレット利用のための基本環境設定
 1.2.1 JSP&サーブレットプログラミングに必要なソフトウェア
 1.2.2 JDKのインストール方法
 1.2.3 Tomcatのインストール方法
 1.2.4 MySQLのインストール方法
 1.2.5 サンプルの配置方法
 1.2.6 【補足】Tomcatのファイルリストを表示する
この章の理解度チェック

第2章 JSP(JavaServer Pages)の基本

2.1 JSPの基本構文
 2.1.1 拡張子は「.jsp」が基本
 2.1.2 JSPページの構造
 2.1.3 文字コードの設定
2.2 ディレクティブ
 2.2.1 ディレクティブの基本構文
 2.2.2 ページの処理方法を決める——@pageディレクティブ
 2.2.3 コンテンツタイプを宣言する——contentType属性
 2.2.4 出力文字コードとページ文字コード
 2.2.5 バッファ処理を有効にする——buffer属性
 2.2.6 クラスライブラリをインポートする——import属性
2.3 アクションタグ
 2.3.1 アクションタグの基本的な用法
 2.3.2 【補足】インクルードファイルではpageEncoding属性が必須
2.4 スクリプティング要素
 2.4.1 スクリプトレット
 2.4.2 暗黙オブジェクト
 2.4.3 スクリプトレットと固定テンプレート
 2.4.4 宣言部
 2.4.5 【補足】同時アクセス時の注意
 2.4.6 式(Expression)
 2.4.7 式(Expression)を記述する場合の注意
2.5 コメント
 2.5.1 JSPで利用可能なコメント
この章の理解度チェック

第3章 リクエスト情報

3.1 リクエスト情報
 3.1.1 HTTP通信の確認
 3.1.2 HTTPメソッドとHTTPステータス
3.2 ポストデータ
 3.2.1 【例】ポストデータを取得する
 3.2.2 フォーム部品
 3.2.3 日本語を扱う
 3.2.4 複数の値を持つ要素にアクセスする
3.3 クエリ情報
 3.3.1 【例】クエリ情報を取得する
 3.3.2 【例】ハイパーリンク経由で値を受け渡しする
 3.3.3 ポストデータとクエリ情報
3.4 ヘッダ情報
 3.4.1 ヘッダ情報の種類
 3.4.2 ヘッダ情報の利用方法
 3.4.3 【例】リクエストヘッダを取得する
 3.4.4 ヘッダ情報を取得するための専用メソッド
 3.4.5 【例】リクエストパスを取得する
 3.4.6 【例】レスポンスヘッダを設定する(1)——リダイレクト
 3.4.7 【例】レスポンスヘッダを設定する(2)——汎用的なヘッダの発行
3.5 クッキー情報
 3.5.1 【例】クッキーの基本的な読み書き
 3.5.2 【例】クッキーで日本語を扱う
 3.5.3 クッキー授受の仕組み
3.6 セッション情報
 3.6.1 【例】基本的なセッション情報の読み書き
 3.6.2 sessionオブジェクトの主なメソッド
 3.6.3 セッションの仕組み
 3.6.4 クッキーが利用できない場合——URLリライティング
 3.6.5 セッションを利用する場合の注意点
この章の理解度チェック

第4章 データベース連携

4.1 データベースの種類
 4.1.1 リレーショナルデータベースの種類
4.2 データベース操作の基本
 4.2.1 mysqlクライアントの使い方
 4.2.2 SQLの基本
4.3 JDBC
 4.3.1 JDBCとは?
 4.3.2 JDBCの内部構造
4.4 データベース接続の準備
 4.4.1 コネクションプーリング
 4.4.2 データベース接続の基本
 4.4.3 データベース切断時の注意点
4.5 SQLクエリの発行
 4.5.1 【例】入力値を基にデータベースに登録する
4.6 結果セットの取得
4.7 トランザクション処理
 4.7.1 トランザクションの活用
4.8 メタデータ
 4.8.1 【例】データベースの構成情報を取得する
 4.8.2 【例】結果セットの構成情報を取得する
この章の理解度チェック

第5章 JSTL(JSP Standard Tag Library)

5.1 JSTLとはなにか?
 5.1.1 JSTLのバージョン
 5.1.2 JSTLのインストール方法
 5.1.3 【例】変数の出力をJSTLで表現する
5.2 式言語
 5.2.1 式言語が必要な理由
 5.2.2 暗黙オブジェクトと演算子(式言語)
5.3 Coreタグライブラリ
 5.3.1 スコープ変数を設定する——タグ
 5.3.2 変数の値を出力する——タグ
 5.3.3 単純分岐を実装する——タグ
 5.3.4 多岐分岐を実装する——タグ
 5.3.5 繰り返し処理を行う——タグ
 5.3.6 【例】Mapの内容を列挙する
 5.3.7 【例】ステータス変数を利用する
5.4 Databaseタグライブラリ
 5.4.1 【例】Databaseタグライブラリでデータベースを検索する
 5.4.2 【例】Databaseタグライブラリでデータを登録する
5.5 i18nタグライブラリ
 5.5.1 数値データを加工する——タグ
 5.5.2 日付データを加工する——タグ
 5.5.3 文字列を数値/日付データに変換する——/タグ
 5.5.4 ロケール情報を設定する——要素
 5.5.5 国際化対応ページを作成する——/タグ
 5.5.6 リクエスト情報の文字コードを宣言する——タグ
5.6 Functionsタグライブラリ
この章の理解度チェック

第6章 サーブレット&JavaBeans

6.1 サーブレットの必要性
 6.1.1 JSP/サーブレットは補完関係
 6.1.2 JSP=サーブレットである
6.2 サーブレットの基本構文
 6.2.1 サーブレットの動作手順
 6.2.2 サーブレットの骨格
 6.2.3  【補足】web.xmlにサーブレットを登録する
 6.2.4 【例】サーブレットをフォームから起動する
6.3 JSP固有の要素に代わるもの
 6.3.1 コンテンツタイプを指定する
 6.3.2 暗黙オブジェクトを取得する
 6.3.3 スクリプトレットと宣言部
 6.3.4 シングルインスタンス・マルチスレッド
6.4 サーブレットのライフサイクル
 6.4.1 initメソッドとdestroyメソッド
 6.4.2 【例】初期化パラメータを取得する
 6.4.3 【補足】初期化パラメータをアノテーションで設定する
6.5 サーブレットのより高度な話題
 6.5.1 ファイルのアップロード機能を実装する
 6.5.2 URLパターンのワイルドカード指定——urlPatterns属性
 6.5.3 【例】フロントコントローラを定義する
 6.5.4 コンテナ起動時にサーブレットを初期化する——loadOnStartup属性
6.6 JSP&サーブレットの連携
 6.6.1 【例】サーブレットの処理結果をJSPページで表示する
 6.6.2 リクエスト属性
 6.6.3 リダイレクトとフォワード(転送)
 6.6.4 リクエスト属性の参照(JSP)
 6.6.5 変数のスコープ
6.7 JavaBeans
 6.7.1 JavaBeansが必要な理由
 6.7.2 【例】JSP&サーブレット、JavaBeansを連携する
 6.7.3 JavaBeansクラスの条件
 6.7.4 JavaBeansを受け渡しする方法
 6.7.5 【例】JavaBeansのリストを受け渡しする
この章の理解度チェック

第7章 デプロイメントディスクリプタ(基本編)

7.1 デプロイメントディスクリプタの基本
 7.1.1 XMLの基本構文
 7.1.2 web.xmlの配置先
 7.1.3 web.xmlの骨組み
 7.1.4 【参考】サーブレット2.5以前の記述
7.2 初期化パラメータを定義する——要素
 7.2.1 【例】初期化パラメータを取得する
 7.2.2 JSTLで利用可能な初期化パラメータ
7.3 カスタムのエラーページを設置する——要素
 7.3.1 【例】カスタムエラーページを定義する
7.4 アプリケーションに認証機能を実装する——//要素
 7.4.1 フォーム認証とは?
 7.4.2 【例】フォーム認証の機能を実装する
 7.4.3 アクセス規則をアノテーションで記述する
 7.4.4 【例】ユーザ情報をデータベースで管理する
 7.4.5 独自のログインページを実装する
7.5 @page/@taglibディレクティブの記述を省力化する——要素
 7.5.1 【例】共通のヘッダファイルを定義する
 7.5.2 要素と要素
7.6 ウェルカムページを定義する——要素
 7.6.1 【例】ウェルカムページを設定する
 7.6.2 バージョンによる挙動の違い
 7.6.3 【補足】デフォルトサーブレット
7.7 Tomcatサーバを管理する——server.xml
 7.7.1 server.xmlの階層構造
 7.7.2 サーバ/クライアント間の接続を管理する——要素(1)
 7.7.3 要素で利用可能な属性——要素(2)
 7.7.4 仮想ホスト単位の挙動を定義する——要素
 7.7.5 【補足】アプリケーションの配布——.warファイル
 7.7.6 アプリケーション単位の基本情報を定義する——要素
 7.7.7 アプリケーションにTomcat独自のフィルタ機能を追加する——要素
この章の理解度チェック

第8章 デプロイメントディスクリプタ(応用編)

8.1 アプリケーション共通の処理を定義する——/要素
 8.1.1 【例】リクエストデータの文字コードを宣言する——フィルタクラス
 8.1.2 【例】リクエストデータの文字コードを宣言する——設定
 8.1.3 @WebFilterアノテーションでフィルタを宣言する
8.2 リスナクラスでアプリケーションイベントを捕捉する——要素
 8.2.1 【例】セッションの開始/終了をロギングする
 8.2.2 @WebListenerアノテーションでリスナを宣言する
 8.2.3 【例】アプリケーション開始時に必要なリソースをロードする
 8.2.4 【例】サーブレット/フィルタを動的に登録する
8.3 自作のタグライブラリを定義する——要素
 8.3.1 【例】カンマ/タブ区切りテキストをHTMLテーブルに整形する
 8.3.2 タグライブラリディスクリプタの配置場所
 8.3.3 タグファイルでカスタムタグの定義を省力化する
8.4 静的メソッドを式言語から呼び出す
 8.4.1 【例】システムプロパティを表示する関数を定義する
 8.4.2 カスタムタグと関数の使い分け
この章の理解度チェック

第9章 JSP&サーブレットで利用可能なライブラリ

9.1 外部ライブラリの利用方法
 9.1.1 .jarファイルとその配置先
 9.1.2 クラスローダ
9.2 電子メールを送信する——Commons.Email
 9.2.1 Commons.Emailの準備
 9.2.2 【例】テキストメールを送信する
 9.2.3 【例】添付ファイル付きのHTMLメールを送信する
 9.2.4 【補足】Apache.Commonsプロジェクト
9.3 アプリケーションにAjax機能を組み込む——DWR
 9.3.1 Ajaxとは?
 9.3.2 DWRとは?
 9.3.3 DWRの準備
 9.3.4 【例】住所検索機能をAjax的に実装する(JavaBeans)
 9.3.5 【例】住所検索機能をAjax的に実装する(JavaScript)
9.4 PDF帳票を生成する——iText
 9.4.1 iTextの準備
 9.4.2 iTextの基本的な使い方
 9.4.3 【例】さまざまなPDF文書の生成
この章の理解度チェック

第10章 セキュリティ対策

10.1 クロスサイトスクリプティング脆弱性
 10.1.1 原因
 10.1.2 対応策
10.2 SQLインジェクション
 10.2.1 原因
 10.2.2 対策
10.3 クロスサイトリクエストフォージェリ
 10.3.1 原因
 10.3.2 対策
10.4 パストラバーサル
 10.4.1 原因
 10.4.2 対策
10.5 その他の攻撃と予防策
 10.5.1 Cookieクラスの設定パラメータ
 10.5.2 セッションハイジャック
 10.5.3 ファイルアップロード攻撃
10.6 入力値の検証
 10.6.1 検証の前提
 10.6.2 【例】入力フォームの検証処理
この章の理解度チェック

付録A 解答

COLUMNS
アプリケーションを再起動するには?——Tomcat Manager
統合開発環境Eclipse
アプリケーションフレームワーク

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2016年08月19日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 028
1行目
2刷
http://www.mysql.com/downloads/
http://dev.mysql.com/downloads/mysql/
2014.03.25
1刷 058
下から4行目
4刷
javax.servlet.jsp
javax.servlet.jsp.*
2016.08.19
1刷 227
リスト 5.4 12行目
2刷
<c:if test="${point > 60">}
<c:if test="${point > 60}">

「}」の位置を修正します。
2013.06.11
1刷 527
練習問題5.1 解答1.(2)
2刷
${sessinScope['cnt']}
${sessionScope['cnt']}
2013.06.11

感想・レビュー

Yusuke Horimoto さん

これは、javaの入門書を終えて、なんとなく手にとって読んだのですが、当時の私には全く理解できなかったのを覚えています。(本に問題があったのではなく、私の知識不足で何が何だかわりませんでした。) 今なら多少は理解できるようになっていそうなので、もう一度改めて読んでみたい本です。

susue さん

2013-10-01

わかりやすかった