TECH PLAY

わかりやすい Jakarta EE ウェブシステム入門

3,850円 (税込)

楽天

わかりやすい Jakarta EE ウェブシステム入門

書籍情報

発売日:

著者/編集:川場 隆

出版社:秀和システム

発行形態:単行本

ページ数:720ページ

書籍説明

内容紹介

『詳しいのにわかりやすい Jakarta EE 完全独習テキスト』 Javaを使ったサイト構築、ウェブアプリケーションから分散システムまで、 Jakarta EEのメインストリームを解説。ショッピングサイトの構築例も掲載。 Java初心者が安心して読める、Jakarta EE入門書籍の決定版! 『Java EE 後継の その広大な新世界に 入門する』 ●多数の例題で学び、学校、企業研修などの講習用テキストとしても最適。

目次

第1章 Jakarta EEと開発ツール Section 1 Jakarta EEとは Section 2 JET (Jakarta EE Toolkit) 2.1 開発ツールの概要 Section 3 開発ツールの準備(Windows編) 3.1 準備作業 Section 4 開発ツールの準備(MacOS編) 4.1 導入作業 Section 5 プロジェクトを実行する Section 6 まとめ 第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 プロジェクトの構成 各種の設定ファイル ウェブデータ ソース・パッケージ persistence.xml pom.xml Section 2 バッキングビーン 2.1 バッキングビーンとは 2.2 バッキングビーンの作成 2.3 アノテーションの役割 2.4 アノテーションの追加と自動インポート Section 3 JSFページ 3.1 JSFページの構成 3.2 ウェブアプリケーションの動作を確認する Section 4 ページナビゲーション 4.1 ウェブページの構成 4.2 プロジェクトの読み込みと実行 4.3 ナビゲーションの実行と確認 Section 5 ウェブアプリケーションとPayara Server 5.1 ウェブアプリケーションのパッケージング 5.2 Payara Serverの操作方法 Section 6 まとめ 要点 練習 第4章 JSFの基礎 Section 1 JSFの仕組み 1.1 HTTP通信とMVCアーキテクチャ コンポーネントベースとアクションベースのMVC 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を使用する 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 日付時刻のコンバータ(f:convertDateTime) 1.3 整数のコンバータ(f:convertNumber) 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 クラスレベルのバリデーション Section 7 まとめ 要点 練習 第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 CDIのスコープアノテーション 1.3 FacesContextとServletContext 1.4 インジェクションポイント Section 2 Conversation(会話)スコープ 2.1 例題の画面推移 2.2 会話処理の開始と終了 2.3 JSFページの内容 Section 3 複数ページをまとめるFlowスコープ 3.1 FLOWスコープ用のフォルダの作成 3.2 Flow定義ファイルの作成 3.3 JSFページの書き方 3.4 バッキングビーンの書き方 Section 4 インジェクトできるようにする@Produces 4.1 @Producesの使い方 4.2 Listを返すメソッドに@Producesを付ける 4.3 フィールドに@Producersを付ける 4.4 インジェクトできるロガーを作る 4.5 後始末をするためのディスポーザー Section 5 CDIビーンの実装を使い分ける 5.1 設定ファイル(bean.xml)を使う方法 5.2 アノテーションを使う方法 Section 6 まとめ 要点 練習 第13章 CDIの高度な機能 Section 1 コールバックメソッド 1.1 ライフサイクル・コールバックメソッド Section 2 インターセプター(割り込み処理) 2.1 カスタムアノテーションの作成 2.2 インターセプタを作成する 2.3 インターセプタをCDIに登録する 2.4 インターセプタを使う Section 3 デコレーター 3.1 デコレーターを作成する 3.2 beans.xmlに登録する 3.3 使用例 Section 4 オブザーバー(イベント駆動処理) 4.1 同期イベント処理 4.2 非同期イベント処理 Section 5 まとめ 要点 練習 第14章 Jakarta Enterprise Beans(EJB) Section 1 Jakarta Enterprise Beansの概要 1.1 EJBの種類 1.2 DI(依存性注入) 1.3 セッションビーンの書き方 Section 2 シングルトン・セッションビーン 2.1 シングルトンセッションビーンを使う 2.2 ウェブアプリケーション(画面1) 2.3 ウェブアプリケーション(画面2) 2.4 シングルトンセッションビーンで使えるアノテーション Section 3 タイマーサービス 3.1 タイマーサービスの起動と終了 3.2 タイマーサービスの作り方 Section 4 非同期呼び出し Section 5 まとめ 要点 練習 第15章 データベースの基礎 Section 1 データベースとは 1.1 リレーショナルデータベース 1.2 JPAの役割 Section 2 データベースシステムのセットアップ 2.1 Dockerのダウンロードとインストール 2.2 MySQLデータベースを動かす 2.3 Dockerの仕組み 2.4 NetBeansからMySQLの起動・停止を行う 2.5 NetBeansでデータベースmydbの内容を確認できるようにする 2.6 Payara Serverの設定 Section 3 データベースの使い方 3.1 エンティティの作成 3.2 persistence unit (永続性ユニット) 3.3 エンティティマネージャーの使い方 3.4 入力データをデータベースに保存する 3.5 データベースの中身を見る 3.6 @Transactionalアノテーション Section 4 CRUD処理 4.1 エンティティマネージャーのAPIと使い方 4.2 CRUD処理の書き方 4.3 バッキングビーンのソースコード Section 5 まとめ 要点 練習 第16章 マッピング・アノテーション Section 1 マッピング・アノテーションの概要 1.1 アノテーションの概要 1.2 デフォルトのマッピング Section 2 エンティティの構成を指定する 2.1 テーブルの名前や項目の名前を変える 2.2 複数のテーブルで構成する 2.3 他のクラス全体を1つのフィールドとして組み込む 2.4 カラムの名前を変える 2.5 カラムをデーベースに保管しないように指示する Section 3 主キーの構成を指定する 3.1 主キーを自動生成する 3.2 複合キーを使う 3.3 複合キーを使う(@IdClass) Section 4 ファイル、列挙、日付と時刻の扱い方 4.1 ファイルなどの大きなデータを記録する 4.2 列挙の記録方法を指定する 4.3 日付と時刻の取り扱い 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 オブジェクトをフィールドに持つことで関係ができる 1.2 ORMの種類 Section 2 1方向のOne-to-One 2.1 DAOの作成手順 2.2 エンティティの新規登録 2.3 永続性コンテキストの制約 2.4 Customerエンティティの一覧表示 2.5 @JoinColumnで外部キーの名前を指定する 2.6 カスケードを指定して保存を簡単にする 2.7 データベースからの削除(remove) Section 3 双方向のOne-to-One 3.1 マッピングの指定方法 3.2 エンティティの新規作成 3.3 Addressエンティティを読み出してみる Section 4 1方向のMany-to-One 4.1 マッピングの指定方法 4.2 エンティティの作成とデータベースへの新規登録 4.3 社員エンティティを一覧出力する Section 5 1方向のOne-to-Many 5.1 マッピングの指定方法 5.2 エンティティの作成と登録 5.3 講義エンティティの表示 Section 6 双方向のOne-to-Many(Many-to-Oneも同じ) 6.1 マッピングの指定方法 6.2 エンティティの新規登録 6.3 エンティティの表示 Section 7 1方向のMany-to-Many 7.1 マッピングの指定方法 7.2 エンティティの作成と登録 7.3 エンティティの表示 Section 8 双方向のMany-to-Many 8.1 マッピングの指定方法 8.2 エンティティの作成 8.3 エンティティの出力 Section 9 まとめ 要点 練習 第18章 問い合わせ言語JPQL Section 1 JPQL TEST 1.1 JPQL TESTについて 1.2 JPQL TESTで操作するデータベーステーブル Section 2 JPQLの書き方 2.1 SELECT文 2.2 集計関数 2.3 識別変数とPath式 Section 3 where句で使える演算子 3.1 いろいろな演算子 3.2 演算子の使い方 Section 4 JPQLの中で使える関数 Section 5 distinctとコンストラクタ式 5.1 重複を取り除くDISTINCTオペレータ 5.2 結果からオブジェクトを作るコンストラクタ式 Section 6 レコードを結合するJOIN 6.1 2つのエンティティの組み合わせ 6.2 内部結合(INNER JOIN) --- エンティティ内部のListとの直積 6.3 外部結合(LEFT JOIN)--- 相手がnullでも直積を取る Section 7 一括更新と一括削除 7.1 一括更新 7.2 一括削除 Section 8 JPQLをJavaプログラムから実行する 8.1 動的クエリ Query型 8.2 動的クエリ TypedQuery型 8.3 コンストラクタ式による検索結果の抽出 8.4 更新と削除 8.5 名前付きクエリ 8.6 メソッドのまとめ 8.7 ORMでマッピングされたエンティティの削除 Section 9 N+1問題 9.1 デフォルトのフェッチタイプ 9.2 N+1問題とは 9.3 EAGERフェッチに変えても問題は解決されない 9.4 LEFT JOIN FETCH 9.5 マルチLEFT JOIN FETCH Section 10まとめ 要点 練習 第19章 セキュリティAPI Section 1 どのページに制限をかけるか指定する Section 2 利用者を登録する 2.1 テーブルの構成とエンティティクラス 2.2 データベースへの登録処理 Section 3 データベースストアの使用設定 3.1 アノテーションで設定する 3.2 論理JNDI名を使えるようにする Section 4 認証方式の指定 4.1 カスタムFORM認証とは 4.2 認証方式としてカスタムフォーム認証を指定する Section 5 認証処理の作成 5.1 login.xhtmlの作成 5.2 login用バッキングビーンの作成 5.3 ログアウト用バッキングビーンの作成 5.4 認証されているかチェックする仕組み 5.5 例題1を実行する 5.6 SecurityContext Section 6 まとめ 要点 第20章 RESTfulウェブサービス Section 1 RESTfulウェブサービスの概要 1.1 RESTとは 1.2 RESTfulウェブサービスの構成方法 1.3 クライアントプログラムで実行する Section 2 サブURIの指定とPathパラメータ 2.1 サブURI 2.2 Pathパラメータ Section 3 Queryパラメータ 3.1 Queryパラメータ 3.2 Querayパラメータのデフォルト値 3.3 複数のQueryパラメータ 3.4 通信テストプログラムの利用 Section 4 HTTPとメディアタイプ 4.1 MIMEタイプ 4.2 @ProducesとMIMEタイプの選択メカニズム 4.3 @Consumes Section 5 戻り値の作成 5.1 戻り値に使うResponseクラス 5.2 CRUDのウェブサービス Section 6 クライアントAPI 6.1 CRUD処理の概要 6.2 クライアントAPIの使い方 Section 7 まとめ 要点 第21章 ウェブアプリケーション Section 1 プログラミングの準備 1.1 継承を利用してバッキングビーンを分ける 1.2 データベース処理のクラスを作る 1.3 ページングマネージャーを作る Section 2 『雑貨屋さん.com』について 2.1 商品データ、顧客データの作成 2.2 例題システムの画面構成 2.3 各画面の機能概要 2.4 テンプレート構成 Section 3 エンティティの作成 3.1 エンティティの種類 3.2 エンティティ設計の注意 3.3 エンティティの自動生成 Section 4 商品の一覧表示(トップページ) 4.1 バッキングビーンでの初期化 4.2 コマンドリンクとページナビゲーション 4.3 メニューバー 4.4 商品一覧表示 4.5 その他のページ Section 5 ログイン認証 Section 6 『雑貨屋さん.com』のソースコード Section 7 まとめ 要点 課題 巻末資料 Section 1 既定のブラウザを設定する方法 Section 2 サーバーのデータベース設定(Windows用) 2.1 準備作業 ― Javaのパスを環境変数に登録する 2.2 Payara Serverのセットアップ Section 3 サーバーのデータベース設定(一般的な方法) 3.1 データベースドライバの登録(JETでは不要) 3.2 コネクションプールの作成 3.3 データソースの作成 Section 4 プロジェクトの作成方法 Section 5 MySQLの外部ボリュームを変更する Section 6 その他の資料 索引

著者情報

川場 隆