わかりやすいJava EE ウェブシステム入門
秀和システム
著者:川場隆
まえがき
第1章 開発ツールの使い方
Section 1 開発ツールの概要
1.1 OSSの開発ツール
1.2 学習用開発ツールの準備
Section 2 NetBeansとGlassFishの使い方
2.1 NetBeansとGlassFishサーバーを起動する
2.2 プロジェクトを作成する
2.3 プロジェクトの内容を確認する
2.4 文字コードを指定する
2.5 プログラムを実行する
Section 3 まとめ
要点
第2章 HTMLとCSS
Section 1 HTMLの基本
1.1 HTMLファイルの作成と表示
1.2 基本的なHTML文書を作成して実行する
1.3 HTML文書の成り立ち
Section 2 HTMLにCSSを適用する
2.1 CSSを書いて実行する
2.2 CSSの基本形
2.3 複数のCSSを適用する
Section 3 CSSの詳細
3.1 CSSの属性と値
3.2 単位
3.3 色
3.4 セレクタ
3.5 HTMLタグのstyle属性にCSSを書く
3.6 外部CSSファイルを使用する
Section 4 よく使うHTMLタグ
4.1 入力フォームとボタン
4.2 選択
4.3 テキスト入力
4.4 リスト、画像、リンク
4.5 テーブル
4.6 ブロックレベル要素とインライン要素
Section 5 画面のレイアウト
5.1 テーブルタグによるレイアウト
5.2 プロジェクトの読み込みと実行
5.3 CSSによるレイアウト
Section 6 まとめ
要点
練習
第3章 ウェブアプリケーションの仕組み
Section 1 バッキングビーン
1.1 バッキングビーンとは
1.2 バッキングビーンの作成
1.3 アノテーションの役割
1.4 アノテーションの追加と自動インポート
Section 2 JSFページ2.1 JSFページの構成
2.2 ウェブアプリケーションの動作を確認する
Section 3 ページナビゲーション3.1 ウェブページの構成
3.2 プロジェクトの読み込みと実行
3.3 ナビゲーションの実行と確認
Section 4 ウェブアプリケーションとGlassFish
4.1 ウェブアプリケーションのパッケージング
4.2 GlassFishサーバーの操作方法
4.3 JavaDB(データベース)を使えるようにする
Section 5 まとめ
要点
練習
第4章 JSFの基礎
Section 1 JSFの仕組み
1.1 HTTP通信とフレームワーク
1.2 フレームワークとしてのJSF
1.3 FacesServlet
1.4 JSFのライフサイクル
1.5 web.xml
Section 2 Faceletsタグの概要
2.1 Faceletsタグの分類
2.2 ネームスペース宣言
2.3 主要なタグ一覧
Section 3 リソースの管理と利用
3.1 resourcesフォルダ
3.2 リソースの指定方法
3.3 リソースのバージョニング
3.4 JavaScriptを使用する
3.5 リソースフォルダとファイルの作成方法
Section 4 まとめ
要点
練習
第5章 JSF:入力と出力の基本
Section 1 表とレイアウト
1.1 h:panelGridの基本
1.2 h:panelGridの属性
1.3 h:panelGridで見栄えのする表を描く
1.4 Faceletsタグの属性のまとめ
Section 2 テキストと画像の出力
2.1 テキスト出力(h:outputText)
2.2 フォーマット出力(h:outputFormat)
2.3 ラベル(h:outputLabel)
2.4 テキスト出力タグの属性
2.5 画像出力(h:graphicImage)
Section 3 画面からの入力
3.1 入力領域(h:inputText、h:inputTextarea)
3.2 パスワード入力(h:inputSecret)
3.3 隠し項目(h:inputHidden)
3.4 入力タグの属性
Section 4 メッセージ処理
4.1 項目ごとにエラーメッセージを表示する(h:message)
4.2 エラーメッセージをまとめて表示する(h:messages)
4.3 メッセージの種類とメッセージタグの属性
4.4 エラーメッセージをカスタマイズする
Section 5 まとめ
要点
練習
第6章 JSF:ボタン・リンクと選択
Section 1 ボタンとリンク
1.1 postとgetの違い
1.2 コマンドボタン(h:commandButton)
1.3 コマンドリンク(h:commandLink)
1.4 h:link
1.5 h:button
1.6 h:outputLink
1.7 ボタンとリンクの属性
Section 2 選択のタグ
2.1 h:selectBooleanCheckbox
2.2 h:selectManyCheckbox
2.3 h:selectOneRadio
2.4 h:selectOneListbox
2.5 h:selectManyListbox
2.6 h:selectOneMenu
2.7 h:selectManyMenu
2.8 選択肢と選択タグの属性
Section 3 まとめ
要点
練習
第7章 表作成、HTML5
Section 1 データテーブル
1.1 データテーブルの基本
1.2 h:dataTableで表示できるもの
1.3 f:facetによるヘッダ、フッタ、キャプションの追加
1.4 CSSを使って見やすい表にする
Section 2 実用的なデータテーブル
2.1 編集できるようにする
2.2 編集できるデータテーブルの作成方法
2.3 クリックした行のオブジェクトを取得する
2.4 h:dataTableの属性
Section 3 HTML5とFaceletsの連携
3.1 HTMLタグをFaceletsタグとして使う(Passing-Through Elements)
3.2 Faceletsタグの中にHTML5の属性を書く(Passing-Through Attribute)
Section 4 まとめ
要点
練習
第8章 コンバータとバリデータ
Section 1 標準コンバータ
1.1 標準コンバータ
1.2 Date型のコンバータ(f:convertDateTime)
1.3 数値型のコンバータ(f:convertNumber)
1.4 HTML5のカレンダーGUIを利用する
Section 2 標準バリデータ
Section 3 エラーメッセージのカスタマイズ
3.1 プロパティファイルの作成
3.2 プロパティファイルの編集
3.3 JSFシステムに登録する
Section 4 ビーン・バリデーション
4.1 ビーン・バリデーションとは
4.2 ビーン・バリデーションで使えるアノテーション
4.3 ビーン・バリデーションの適用方法
4.4 ゲッターへの指定
4.5 メッセージバンドルの利用
Section 5 バリデータの作成
5.1 インタフェースの作成
5.2 検証を行うクラス(バリデータ)の作成
Section 6 まとめ
要点
練習
第9章 Ajax機能
Section 1 Ajax機能とは
1.1 Ajaxが必要なケースの例
Section 2 Ajax機能による改良
2.1 Ajax機能の使用方法(f:ajaxタグ)
2.2 スコープアノテーションを変更する
Section 3 Ajaxコマンドボタン
Section 4 Ajaxバリデーション
4.1 Ajaxバリデーションの例題プログラム
4.2 Ajax処理とスコープアノテーション
4.3 JSFのライフサイクルとAjax処理
Section 5 f:ajaxタグの属性と指定できる値
Section 6 まとめ
要点
練習
第10章 リソースバンドルと国際化
Section 1 リソースバンドル
1.1 プロパティファイルの作成と登録
1.2 リソースバンドルの適用
Section 2 リソースバンドルの国際化
2.1 国際化とは
2.2 ロケールファイルの作成
2.3 ロケールファイルの編集
2.4 ロケールの登録
Section 3 まとめ
要点
練習
第11章 テンプレート機能
Section 1 テンプレート機能
1.1 テンプレート機能とは
1.2 テンプレートファイルの作成
1.3 テンプレートファイル
Section 2 テンプレート用表示データの作成
2.1 content-1.xhtmlファイルの作成
2.2 content-1.xhtmlの編集
Section 3 テンプレートファイルを使用する
3.1 index.xhtmlの作成
3.2 output.xhtmlの作成
3.3 テンプレート関連タグのまとめ
Section 4 まとめ
要点
練習
第12章 CDIー新しいオブジェクトの作り方
Section 1 CDIとは
1.1 CDIを使ってみる
1.2 管理ビーン(Managed Bean)とは
1.3 CDIのスコープアノテーション
1.4 インジェクションポイント
Section 2 Conversation(会話)スコープ
2.1 例題の画面推移
2.2 会話処理の開始と終了
2.3 JSFページの内容
Section 3 インジェクトできるようにする@Produces
3.1 CDIビーンではないオブジェクトをインジェクトする
3.2 インジェクトできるロガーを作る
Section 4 限定子でCDIビーンを特定する
4.1 限定子(Qualifier)を作成する
4.2 限定子を付けてCDIビーンを作成する
4.3 限定子を付けてインジェクトする
4.4 引数を持つ限定子を使う
Section 5 beans.xmlでCDIビーンを特定する
5.1 beans.xmlファイルの作成方法
5.2 使用例
Section 6 まとめ
要点
練習
第13章 EJB(Enterprise JavaBeans)
Section 1 ウェブアプリケーションの構成要素
Section 2 EJB(Enterprise JavaBeans)の概要
2.1 EJBの種類
2.2 DI(依存性注入)
2.3 セッションビーンの書き方
Section 3 シングルトン・セッションビーン
3.1 シングルトンセッションビーンを使う
3.2 ウェブアプリケーション(画面1)
3.3 ウェブアプリケーション(画面2)
3.4 シングルトンセッションビーンで使えるアノテーション
Section 4 タイマーサービス
4.1 タイマーサービスの起動と終了
4.2 タイマーサービスの作り方
Section 5 非同期呼び出し
Section 6 まとめ
要点
練習
第14章 CDIとEJB
Section 1 初期化や終了処理を行うコールバックメソッド
1.1 ライフサイクル・コールバックメソッド
Section 2 割り込み処理を実行できるインターセプタ
2.1 インターセプタを使用する
2.2 インターセプタの作り方
Section 3 イベントプロデューサーとオブザーバー
3.1 イベントの受け渡し
3.2 例題の構成と確認
Section 4 まとめ
要点
練習
第15章 データベースの基礎
Section 1 データベースとは
1.1 リレーショナルデータベース
1.2 JPAの役割
Section 2 データベースの使い方
2.1 エンティティの作成
2.2 データベース接続情報の作成
2.3 エンティティマネージャーの使い方
2.4 入力データをデータベースに保存する
2.5 JSF画面とプログラムの実行
2.6 データベースの中身を見る
Section 3 CRUD処理
3.1 エンティティマネージャーのAPIと使い方
3.2 CRUD処理を行うメソッドの書き方(バッキングビーン)
3.3 JSF画面の作成
3.4 全てのソースコード
Section 4 まとめ
要点
練習
第16章 マッピング・アノテーション
Section 1 マッピング・アノテーションの概要
1.1 アノテーションの概要
1.2 デフォルトのマッピング
Section 2 エンティティの構成を指定する
2.1 テーブルの名前を変える
2.2 複数のテーブルで構成する
2.3 他のクラス全体を1つのフィールドとして組み込む
Section 3 主キーの構成を指定する
3.1 主キーを自動生成する
3.2 複合キーを使う
3.3 複合キーを使う(@IdClass)
Section 4 フィールドに個別の属性を指定する
4.1 フィールドとデータベース・カラムで違う名前を使う
4.2 大きなデータを格納する
4.3 列挙を文字で記録するように指示する
4.4 日時の記録方法を指定する
4.5 データベースに保管しないよう指示する
Section 5 フィールド・マッピングの例題
5.1 エンティティ・クラス
5.2 バッキングビーン (全体のソースリストは5.5に掲載)
5.3 index.xhtml
5.4 データベースの画像を表示する方法(バッキングビーン)
5.5 バッキングビーン(全体)
Section 6 コレクションとマップを使う
6.1 フィールド変数にListやSetを使う
6.2 フィールド変数にMapを使う
Section 7 まとめ
要点
練習
第17章 オブジェクト関係マッピング(ORM)
Section 1 オブジェクト関係マッピングとは
1.1 ORMとは
1.2 外部キーによる関係付け
1.3 社員と所属部署の関係
1.4 双方向の関係
1.5 One-to-Oneでの双方向の関係
Section 2 One-to-One(1方向)
2.1 エンティティの書き方
2.2 データベースに保存する方法
2.3 カスケードを指定して保存を簡単にする
2.4 カスケードした場合の保存方法
2.5 例題の表示結果
Section 3 One-to-One(双方向)
3.1 エンティティの書き方
3.2 エンティティの作り方
3.3 エンティティを表示してみる
Section 4 One-to-ManyとMany-to-One
4.1 エンティティの書き方
4.2 データベースに保存する方法
4.3 データベースからの表示
4.4 Many-to-OneとOne-to-Many(双方向)
Section 5 Many-to-Many
Section 6 まとめ
要点
練習
第18章 JPQLとウェブアプリケーション
Section 1 『雑貨屋さん.com』の構成
1.1 商品データ、顧客データの作成
1.2 例題システムの画面構成
1.3 各画面の機能概要
1.4 テンプレート構成
Section 2 エンティティの作成
2.1 エンティティの種類
2.2 エンティティ設計の注意
2.3 エンティティの自動生成
Section 3 プログラミングの準備
3.1 継承を利用してバッキングビーンを分ける
3.2 データベース処理の汎用クラスを作る
3.3 ページングマネージャーを作る
Section 4 JPQLの文法
4.1 JPQLの実行と結果の確認(ProductView)
4.2 基本形: SELECT ~FROM ~ WHERE ~
4.3 整列: SELECT~FROM~WHERE~ORDER BY~
4.4 一括更新:UPDATE ~ SET ~ WHERE ~
4.5 一括削除: DELETE FROM ~ WHERE ~
Section 5 JPQLを実行する
5.1 動的クエリの実行
5.2 名前付きクエリ
5.3 クエリのパラメータ指定
5.4 名前付きクエリの実行手順
5.5 メソッドのまとめ
Section 6 商品の一覧表示(トップページ)
6.1 バッキングビーンでの初期化
6.2 コマンドリンクとページナビゲーション
6.3 メニューバー
6.4 商品一覧表示
6.5 その他のページ
Section 7 ログイン認証とセキュリティ
7.1 ログインとログアウトのプログラム
7.2 サーバーの設定方法
7.3 アプリケーション(web.xml)の設定方法
Section 8 『雑貨屋さん.com』のソースコード
Section 9 まとめ
資料
索引