著者:国本 大悟[くにもと・だいご]
監修:株式会社フレアリンク
NDC:007.64 : 情報学.情報科学
スッキリわかるサーブレット&JSP入門 第2版 - インプレスブックス
2023年2月に第三版が刊行。
スッキリわかるサーブレット&JSP入門 第3版 - インプレスブックス
【目次】
まえがき [003]
本書の見方 [004]
CONTENTS [005-012]
第I部 Webのしくみを知ろう
第1章 HTMLとWebページ 021
1.1 WebページとHTML 022
1.1.1 Webアプリケーション開発の基礎知識
1.1.2 HTMLとブラウザ
1.2 HTMLの基本構造 027
1.2.1 タグとは
1.2.2 属性
1.2.3 HTMLの基本構造
1.3 Webページの作成 033
1.3.1 基本的なタグ
1.3.2 Webページ作成の手順とルール
1.3.3 HTMLファイルの作成
1.3.4 HTMLファイルからWebページを表示
1.3.5 Webページの表示がおかしい場合(空白)
1.3.6 Webページの表示がおかしい場合(文字化け)
1.4 HTMLリファレンス 043
1.5 まとめ 046
1.6 練習問題 039
1.7 解答 040
第2章 Webのしくみ 051
2.1 Webページの公開 052
2.1.1 Webページを公開する方法
2.1.2 リクエストに必要なもの
2.2 Webを支える通信のしくみ 054
2.2.1 HTTPとは
2.2.2 リクエストの中身
2.2.3 レスポンスの中身
2.3 Webアプリケーションのしくみ 059
2.3.1 Webアプリケーション
2.3.2 サーバサイドプログラム
2.3.3 サーブレットとJSPによるWebアプリケーション開発
2.3.4 アプリケーションサーバとは
2.4 開発の準備をしよう 065
2.4.1 開発に必要なもの
2.4.2 開発の準備をする
2.5 開発環境を体験する
2.5.1 体験する内容
2.5.2 HTMLファイルをEclipseで作成
2.5.3 アプリケーションサーバを起動
2.5.4 HTMLファイルのリクエストとURL
2.5.5 404ページ
2.5.6 Eclipseの実行機能
2.5.7 問題解決のために「虎の巻」を活用
2.6 まとめ 075
2.6.1 この章で学習した内容
2.7 練習問題 076
2.8 解答 077
第II部 開発の基礎を身に付けよう
第3章 サーブレットの基礎 081
3.1 サーブレットの基礎と作成方法 082
3.1.1 サーブレットとは
3.1.2 サーブレットクラスの基本形
3.1.3 HttpServletRequestとHttpServletResponse
3.1.4 HTMLを出力
3.1.5 サーブレットクラスのコンパイルとインスタンス化
3.2 サーブレットクラスの実行方法 088
3.2.1 サーブレットクラスのURL
3.2.2 URLパターンの設定
3.2.3 サーブレットクラスを実行する
方法① ブラウザを起動してURLを入力する
方法② Eclipseの実行機能を利用する
方法③ サーブレットクラスへのリンクをクリックする
3.2.4 リクエストメソッドと実行メソッド
3.3 サーブレットクラスを作成して実行する 093
3.3.1 Eclipseでサーブレットクラスを定義
解説① URLパターン
解説② serialVersionUIDフィールド
解説③ HTMLの出力
補足① 運勢をランダムに決定
補足② 実行日の取得
3.3.2 サーブレットクラスを実行
3.4 サーブレットの注意事項 098
3.4.1 サーブレットクラスの内容を変更するときの注意
対処方法① サーバを再起動する
対処方法② しばらく待つ
3.4.2 サーブレットの基本の学習方法
3.4.3 サーブレットクラスのAPIドキュメント
3.5 まとめ 103
3.6 練習問題 104
3.7 解答 105
第4章 JSPの基本 107
4.1 JSPの基本 108
4.1.1 JSPとは
4.2 JSPの基本 112
4.2.1 JSPファイルの構成要素
4.2.2 スクリプトレット
4.2.3 スクリプト式
4.2.4 JSPコメント
4.2.5 pageディレクティブ
4.2.6 pageディレクティブ―― Content-Typeヘッダを指定
4.2.7 pageディレクティブ――クラス、インターフェースをインポート
4.3 JSPファイルの実行方法 119
4.4 JSPファイルを作成して実行する 121
4.5 まとめ 126
4.6 練習問題 127
4.7 解答 128
第5章 フォーム 129
5.1 フォームの基本 130
5.1.1 フォームとは
5.1.2 フォームの構造
5.1.3 フォームの部品
5.1.4 フォームの作成
5.1.5 データ送信のしくみ
5.1.6 GETリクエストとPOSTリクエスト
5.2 リクエストパラメータの取得 141
5.2.1 リクエストパラメータとHttpServletRequestインスタンス
5.2.2 サーブレットクラスでリクエストパラメータの値を取得する
5.2.3 JSPファイルでリクエストパラメータの値を取得する
5.3 フォームを使ったプログラムの作成 147
5.3.1 サンプルプログラムの説明
5.3.2 サンプルプログラムを作成する
5.4 リクエストパラメータの応用 154
5.4.1 開発者がプログラムにデータを送る
5.5 まとめ 156
5.6 練習問題 157
5.7 解答 159
第III部 本格的な開発を始めよう
第6章 MVCモデルと処理の遷移 163
6.1 MVCモデル 164
6.1.1 サーブレットクラスとJSPファイル、それぞれの得手不得手
6.1.2 MVCモデルとは
6.2 処理の転送 169
6.2.1 フォワードとは
6.2.2 フォワードの実現方法と特徴
6.2.3 JSPファイルへの直接リクエストを禁止する
6.2.4 フォワードのサンプルプログラムを作成する
6.2.5 リダイレクトとは
6.2.6 リダイレクトの実現方法
6.2.7 リダイレクトのサンプルプログラムを作成する
6.2.8 フォワードとリダイレクトの使い分け
6.2.9 転送後のURLの違い
6.2.10 フォワードとリダイレクトの比較
6.3 まとめ 184
6.4 練習問題 185
6.5 解答 186
第7章 リクエストスコープ 187
7.1 スコープの基本 188
7.1.1 スコープとは
7.1.2 スコープとインスタンス
7.1.3 JavaBeansのサンプルプログラム
JavaBeansのルール①
JavaBeansのルール②
JavaBeansのルール③
JavaBeansのルール④
JavaBeansのルール⑤
7.1.4 JavaBeansのプロパティ
7.2 リクエストスコープの基礎 196
7.2.1 リクエストスコープの特徴
7.2.2 リクエストスコープの基本操作
7.2.3 JSPファイルでリクエストスコープを使用する例
7.3 リクエストスコープを使ったプログラムの作成 200
7.3.1 サンプルプログラムの説明
7.3.2 サンプルプログラムの作成
7.4 リクエストスコープの注意点 209
7.4.1 リクエストスコープでできないこと
7.5 まとめ 212
7.6 練習問題 213
7.7 解答 215
第8章 セッションスコープ 217
8.1 セッションスコープの基礎 218
8.1.1 セッションスコープの特徴
8.1.2 セッションスコープの基本操作の例
8.2 セッションスコープを使ったプログラムの作成 223
8.2.1 サンプルプログラムの基本動作
8.2.2 リクエストパラメータによる処理の振り分け
8.2.3 サンプルプログラムの作成
[コード8-5]解説① セッションスコープ内のインスタンスを削除
[コード8-6]解説① パスワードボックス
[コード8-7]解説① リクエストパラメータの送信
8.3 セッションスコープのしくみ 234
8.3.1 セッションID
8.3.2 セッションIDとクッキー
8.4 セッションスコープの注意点 237
8.4.1 セッションのタイムアウト
8.4.2 セッションスコープの破棄とインスタンスの削除
8.5 まとめ 241
8.6 練習問題 242
8.7 解答 243
第9章 アプリケーションスコープ 245
9.1 アプリケーションスコープの基本 246
9.1.1 アプリケーションスコープの特徴
9.1.2 Webアプリケーションの開始と終了
1. サーバの起動と停止
2. オートリロード機能
3. 管理ツールによる開始と終了
9.1.3 アプリケーションスコープの基本動作
9.2 アプリケーションスコープを使ったプログラムの作成 252
9.2.1 サンプルプログラムの基本動作
9.2.2 サンプルプログラムの作成
[コード9-5]解説① スコープからインスタンスが取得できなかった場合
9.3 アプリケーションスコープの注意点 259
9.3.1 アプリケーションスコープのトラブル
① 同時アクセスによる更新
② インスタンスの保存期間
9.4 スコープの比較 261
9.3.1 スコープの特徴のまとめ
9.5 まとめ 262
9.6 練習問題 263
9.7 解答 264
第10章 アプリケーション作成 267
10.1 作成するアプリケーションの機能と動作 268
10.1.1 「どこつぶ」の機能と画面設計
機能① ログイン機能
機能② ログアウト機能
機能③ 投稿機能
機能④ 閲覧機能
10.1.2 「どこつぶ」作成にあたって
10.2 開発の準備 271
10.2.1 動的Webプロジェクトの作成
10.2.2 JavaBeansの作成
10.2.3 トップ画面の作成
10.3 ログイン機能を作成する 276
10.3.1 ログイン機能のしくみ
10.3.2 プログラムの作成
10.4 メイン画面を表示する 282
10.4.1 メイン画面表示のしくみ
10.4.2 プログラムの作成
[コード10-8]解説① ArrayListにインスタンスを格納
解説② スコープからArrayListインスタンスを取得
解説③ デフォルトページへのリダイレクト
10.5 ログアウト機能を作成する 289
10.5.1 ログアウト機能のしくみ
10.5.2 プログラムの作成
10.6 投稿と閲覧の機能を作成する 293
10.6.1 投稿と閲覧機能そしくみ
10.6.2 プログラムの作成
[コード10-13]解説① ArrayListにインスタンスを格納
[コード10-15]解説① ArrayListに格納されたインスタンスを先頭から順に取得
10.7 エラーメッセージの表示機能を追加する 301
10.7.1 エラー表示のしくみ
10.7.2 プログラムの作成
10.8 まとめ 307
第IV部 応用的な知識を深めよう
第11章 サーブレットクラスの実行のしくみとフィルタ 311
11.1 サーブレットクラス実行のしくみ 312
11.1.1 サーブレットクラスのインスタンス化
11.1.2 init() メソッド/ destroy() メソッド
11.1.3 init() / destroy() メソッドのサンプルプログラム
解説① init() / destroy() メソッド
11.1.4 init() メソッドの注意点
11.1.5 サーブレットクラスのフィールド
11.2 リスナー 325
11.2.1 リスナーのしくみ
11.2.2 リスナーの作成方法
11.2.3 リスナーのサンプルプログラム
解説① @WebListenerアノテーションの付与
解説② リスナーインタフェースとそのメソッドの実装
11.2.4 リスナーの作り方
11.3 フィルタ 330
11.3.1 フィルタとは
11.3.2 フィルタのサンプルプログラム
解説① @Filterアノテーションの付与
解説② Filterインタフェースの実装
解説③ doFilter()メソッド
11.3.3 フィルタクラスの作り方
11.4 この章のまとめ 337
11.5 練習問題 338
11.6 練習問題の解答 339
第12章 アクションタグとEL式 341
12.1 インクルードと標準アクションタグ 342
12.1.1 動的インクルードと標準アクションタグ
12.1.2 動的インクルードのサンプルプログラム
解説① インクルード先の指定方法
12.1.3 静的インクルードとサンプルプログラム
12.2 EL式 351
12.2.1 EL[Expression Language]式とは
12.2.2 EL式の使い方
12.2.3 EL式のサンプルプログラム
ポイント① インポートとスコープからの取得が不要
ポイント② プロパティの値を取得
ポイント③ 出力
12.2.4 EL式の演算子
12.2.5 EL式とコレクション
12.2.6 EL式とスクリプト要素
12.3 JSTL[JavaServer Pages Standard Tag] 360
12.3.1 JSTLとカスタムタグ
12.3.2 JSTLの構成
12.3.3 Coreタグライブラリ
変数出力
分岐
繰り返し
12.3.4 JSTLのサンプルプログラム
12.3.5 アクションタグとEL式の関係
12.4 この章のまとめ 371
12.5 練習問題 372
12.6 解答 373
第13章 JDBCプログラムとDAOパターン 375
13.1 データベースとJDBCプログラム 376
13.1.1 データベースの基礎知識
13.1.2 JDBCプログラム
13.1.3 JDBCプログラムの例
13.2 DAOパターン 385
13.2.1 JDBCプログラムの問題
13.2.2 DAO[Date Access Object]パターンによる解決
13.2.3 DAOパターンのサンプルプログラム
13.2.4 WebアプリケーションとDAOパターンの関係
13.3 どこつぶでデータベースを利用する 396
13.3.1 データベース化の準備
13.3.2 データベース化のしくみ
13.3.3 プログラムの作成
13.4 この章のまとめ 407
13.5 練習問題 408
13.6 解答 409
第V部 設計手法を身に付けよう
第14章 Webアプリケーションの設計
14.1 Webアプリケーションの設計とは 414
14.1.1 アプリケーションの要件
14.1.2 さまざまな設計手法
14.1.3 テーブルの設計
14.1.4 開発する機能の順番を決定
14.1.5 画面の設計
14.1.6 サーブレットクラスとJSPファイルの設計
画面、サーブレットクラス、JSPファイルのつながり
リクエストパラメータの流れ
スコープ
リクエスト先がサーブレットクラスか
画面を出力しているのはJSPファイルか
処理に必要な情報が揃っているか
画面に出力するのに必要な情報が揃っているか
14.1.7 サーバサイドの設計
BO[Business Object]
DAO[Data Access Object]
Entity
14.2 プログラムを完成させる 429
14.2.1 プログラムを書いて機能を完成 429
①Entityクラスの作成
②DAOの作成
③DAOのテスト
④BO[Business Object]の作成
⑤BOのテスト
⑥サーブレットクラスとJSPファイルの連携の作成
⑦画面遷移の確認
⑧サーブレットクラスの仕上げ
⑨JSPファイルの仕上げ
⑩機能の最終動作確認
14.2.2 次の機能を開発する際のコツ
14.3 まとめ 448
付録
付録A 使用するソフトウェアの操作手順 449
付録B フォーム作成の注意点 451
B.1 フォームの作り方
B.1.1 4つの連携点
B.1.2 対応していない場合に生じる問題
付録C エラー解決・虎の巻 455
C.1 エラーとの上手な付き合い方 456
C.1.1 エラーを解決できるようになる3つのコツ
C.1.2 Eclipseとコンパイルエラー
C.1.3 スタックトレースの読み方
C.2 トラブルシューティング 461
C.2.1 リクエストしていないページや画面が表示される
C.2.2 サーバを起動できない
C.2.3 エラーは出ないが動作がおかしい
C.2.4 Eclipseの操作で生じる不具合
C.2.5 Eclipseのエディタで警告/エラーが表示される
C.2.6 例外が発生する
C.2.7 例外が発生する―― JdbcSQLException
付録D 補足 485
D.1 Java EEの基礎知識
D.1.1 Java EEとは
D.1.2 Java EEの仕様と実装
D.1.3 サーブレット/JSPのバージョン
D.2 Webアプリケーションとデプロイ
D.2.1 Webアプリケーションのディレクトリ構成と動的Webプロジェクト
D.2.2 WebアプリケーションのデプロイとWAR[Web Application Resources]ファイル
D.2.3 JARファイル
D.3 リクエスト先の指定方法
D.3.1 指定方法の種類
D.3.2 絶対URLを使って指定する方法
D.3.3 相対URLを使って指定する方法
D.3.4 ルート相対URLを使って指定する方法
D.4 本書のデータベース環境を構築
D.4.1 テーブルを作成する
D.4.2 テーブルにレコードを追加する
D.4.3 SELECT文でレコードを検索する
D.4.4 どこつぶ専用データベースを作成する
INDEX [503-509]
奥付 [510]
【抜き書き】
・業界用語(77頁)について。
「どうやら若者のhoge離れが進んでいる」