Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築(寺田 佳央 猪瀬 淳 加藤田 益嗣 羽生田 恒永 梶浦 美咲 小田 圭二)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築

Java EE 7徹底入門 標準Javaフレームワークによる高信頼性Webシステムの構築






監修

形式:
書籍
発売日:
ISBN:
9784798140926
定価:
4,180(本体3,800円+税10%)
仕様:
B5変・584ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
徹底入門
紙の書籍

経験豊富なJavaコンサルタントが
Java EEの基礎+実践的な開発方法を徹底解説!

Javaによる業務システム開発向けの標準仕様であるJava EE。本書は、フレームワークとしての基盤機能が一層充実したJava EE 7の基本と実践的な開発方法を学ぶための書籍です。

Javaの基本文法を身につけた方を対象に、プレゼンテーション層の開発機能JSFやビジネスロジック層の開発機能CDI/EJB、データアクセス層の開発機能JPAなど、業務システム開発時に必要不可欠な機能群の使い方や活用方法を、具体的なサンプルを交えて詳しく解説します。Java EE 7で追加されたWebサービスやバッチ処理の機能についても解説。

これからJava EE開発を始める方、Java EEの機能をもっと使いこなしたい方など、業務システム開発に携わるJavaエンジニアにおすすめの一冊です。

Chapter 1 Java EEの基礎知識
 1.1 Java EEのこれまで
 1.2 Java EEの全体像
 1.3 Java EEアプリケーション開発の基本
 1.4 開発環境の準備
 1.5 サンプルアプリケーションの概要
 1.6 まとめ
Chapter 2 プレゼンテーション層の開発――JSFの基本
 2.1 JSF概要
 2.2 JSFの構成要素
 2.3 JSFの画面遷移
 2.4 JSFの内部処理
 2.5 JSFの基本設定
 2.6 フェースレットタグライブラリ
 2.7 EL(Expression Language)
Chapter 3 プレゼンテーション層の開発――JSFの応用 その1
 3.1 入力チェック
 3.2 コンバータ
 3.3 コンポーネントのカスタマイズ
 3.4 フェースレットテンプレート
 3.5 HTML5フレンドリマークアップ
 3.6 Ajax
Chapter 4 プレゼンテーション層の開発――JSFの応用 その2
 4.1 認証/認可
 4.2 国際化
 4.3 ブックマーカビリティ
 4.4 フェーズリスナ
 4.5 Java EE 7で導入されたJSFの機能
 4.6 まとめ
Chapter 5 ビジネスロジック層の開発――CDIの利用
 5.1 CDIとEJB
 5.2 DI(Dependency Injection)
 5.3 CDI
 5.4 CDI基本編
 5.5 CDI応用編
 5.6 まとめ
Chapter 6 ビジネスロジック層の開発――EJBの利用
 6.1 Enterprise Java Beans(EJB)
 6.2 セッションビーン
 6.3 メッセージドリブンビーン
 6.4 タイマー
 6.5 EJBの設計
 6.6 EJBのテスト
 6.7 まとめ
Chapter 7 データアクセス層の開発――JPAの基本
 7.1 JPAの基礎知識
 7.2 エンティティの基本
 7.3 エンティティマネージャの基本
 7.4 クエリAPI
 7.5 JPQL
 7.6 Criteria API
Chapter 8 データアクセス層の開発――JPAの応用
 8.1 高度なエンティティの利用方法
 8.2 ライフサイクルコールバック
 8.3 エンティティクラスとテーブル構造
 8.4 トランザクション
 8.5 キャッシュ
 8.6 永続化ユニット
 8.7 環境構築手順
 8.8 アプリケーション開発手順
 8.9 まとめ
Chapter 9 RESTful Webサービスの開発
 9.1 Webサービスの基礎
 9.2 JAX-RSの基本
 9.3 RESTful Webサービス作成のための事前準備
 9.4 RESTサービスクラス(サーバー側)の作成
 9.5 HTTPメソッドに応じた処理
 9.6 RESTクライアントクラス(クライアント側)の作成
 9.7 メッセージフィルタクラス
 9.8 まとめ
Chapter10 バッチアプリケーションの開発
 10.1 jBatchの基本
 10.2 jBatchの利用――基本編
 10.3 jBatchの利用――応用編
 10.4 ジョブの作成
 10.5 ジョブのフロー制御
 10.6 まとめ

付属データはこちら

お問い合わせ

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

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

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

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

追加情報はありません。

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

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

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

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

書籍の種類:

書籍の刷数:

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

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

最終更新日:2018年06月08日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 008
図1.2
2刷
2015.12.21
1刷 013
「1.2.3 Java EE の仕様策定」 下から5行目
2刷
に対して対し提出して
に対して提出して
2016.02.08
1刷 035
「1.5.2 ナレッジバンクのセットアップ」5~7行目
2刷
ダウンロードしたファイルの中には、以下の2つのモジュールが含まれています。 ● knowledgebank:ナレッジバンクのサンプルアプリケーション ● knowledgebank_client:RESTful Webサービスのクライアントサンプル
ダウンロードしたファイルの中には、以下の3つのモジュールが含まれています。 ● knowledgebank:ナレッジバンクのサンプルアプリケーション ● knowledgebank_client:RESTful Webサービスのクライアントサンプル ● SimpleBatch:jBatch単独のサンプルアプリケーション

説明文の「2つ」を「3つ」に訂正し、項目を1つ追加します。
2015.12.15
1刷 041
COLUMN MVC 1.0【追加情報】
3刷
 次バージョンのJava EE 8 には、「MVC1.0」というプレゼンテーション層を開発する新しい仕様が加わる予定です。Web アプリケーションを開発するフレームワークには、HTTP の通信に紐付けて処理を記述するアクションベースのフレームワークと、入力フィールドやボタンに紐付けて処理を記述するコンポーネントベースのフレームワークがあります。本書で説明するJSF は、コンポーネントベースのフレームワークです。そのため、開発者からJava EEの標準にアクションベースの選択肢も必要という意見があがりJava EE 8 でアクションベースのフレームワークであるMVC 1.0を追加するということになりました。Java EE 8リリース以降はJava EE の標準仕様としてプレゼンテーションの開発にコンポーネントベースの開発とアクションベースの開発を選択することができるようになります。
 Web アプリケーションを開発するフレームワークには、HTTP の通信に紐付けて処理を記述するアクションベースのフレームワークと、入力フィールドやボタンに紐付けて処理を記述するコンポーネントベースのフレームワークがあります。本書で説明するJSF は、コンポーネントベースのフレームワークです。  2017 年9 月にリリースされたJava EE 8 では、JSF に加え「MVC1.0」というプレゼンテーション層を開発するアクションベースの仕様が加わる予定でした。しかし、2 度にわたるコミュニティサーベイ(ユーザーに対するアンケート)の結果、最終的にMVC 1.0 はJavaEE 8 に含まれませんでした。そのため、Java EE 8 リリース時点においてもJava EE の標準仕様としてプレゼンテーションの開発をする場合はJSF を使用することになります。
2018.06.08
1刷 042
「アカウント登録画面」宣言部とヘッダー部の境界
2刷
※<h:head>の下
※<h:head>の上

<h:head>は、宣言部ではなくヘッダー部に含まれます
2017.04.10
1刷 049
1行目
2刷
5章のEJBで
第6章のEJBで
2015.12.15
1刷 064
表2.2 「コアタグライブラリ」の「代表的なタグ」
2刷
<f:convertDateTime> <f:convertDateTime> など
<f:param> <f:convertDateTime> など
2016.02.08
1刷 065
表2.3
2刷
(画像クリックで拡大)
(画像クリックで拡大)

表の項目名を「ネームスペース【16】」に訂正します。
2016.02.08
1刷 068、069
「■ h:outputStylesheet」記述例のキャプション(2箇所)
2刷
アウトプットスタイルシータグ
アウトプットスタイルシートタグ
2016.02.08
1刷 078
「■h:inputFile」 記述例の2行目
2刷
<h:inputFile id="attachFile" value="#{taglibBean.attachFile}" />
<h:inputFile id="attachFile" value="#{attachFileBean.attachFile}" />
2015.12.21
1刷 097
表2.18の演算子「¦ ¦ or」の「記述例」、■ 三項演算子
2刷
表2.18の演算子「¦ ¦ or」の「記述例」・・・ #{a < b ¦ ¦ a < c} #{a lt b ¦ ¦ a lt c} ■ 三項演算子・・・ EL式の参考演算子記述例
表2.18の演算子「¦ ¦ or」の「記述例」・・・ #{a < b ¦ ¦ a < c} #{a lt b or a lt c} ■ 三項演算子・・・ EL式の三項演算子記述例
2016.07.25
1刷 102
「f:validateLengthのvalidatorMessage属性を指定した場合」3行目
2刷
<f:validateLength minimum="1" maximum="30"/>
<f:validateLength minimum="1" maximum="255"/>
2017.02.13
1刷 117、118
p.117の3行目、p.118の5行目・下から3行目
2刷
HH:mm:dd
HH:mm:ss
2017.04.10
1刷 144
コードの6行目
2刷
HH:mm:dd
HH:mm:ss
2017.04.10
1刷 147
本文1行目
2刷
マネージドビーンのaddCommandメソッドの
マネージドビーンのaddCommentメソッドの
2017.02.13
1刷 155
上から2行目【追加情報】
3刷
サーバーに認証の設定を行なう必要があります。
サーバーに認証の設定を行なう必要があります(Java EE 8で導入されたSecurity APIでは認証を行なうデータストアをJava のプログラムで設定することができるようになりました。そのためアプリケーションサーバに依存しない認証設定が可能です)
2018.06.08
1刷 189
図4.16の上の文章 最終行
2刷
図4.16のように複数
図4.16のように複数画面をまたいで入力処理を行なうことができます。

文章が途切れていました。
2015.12.21
1刷 213
図5.7中「CDIコンテナ」から「オブザーバ」への矢印線の近く
2刷
検知
通知
2017.04.10
1刷 230
【追加情報】1行目
2刷
ソースコードにアノテーションを指定する場合は、以下のように@Interceptorsアノテーションを使い、作成したインターセプタクラスを直接指定します。
ソースコードにアノテーションを指定する場合は、インターセプタ結合型を用いる方法と、インターセプタを対象クラスに直接指定する方法があります※。直接指定する場合は以下のように@Interceptorsアノテーションを使い、作成したインターセプタクラスを直接指定します。 ※インターセプタ結合型を用いる方法を推奨しますが、本書では直接指定する方法のみを紹介しています。インターセプタ結合型の解説を含めた文章は、サンプルコード同梱のファイル「インターセプタ結合型および実行順序制御について.pdf」を参照してください。
2017.04.10
1刷 240
「6.2.1 セッションビーンとは」1行目
2刷
6.1のとおり、
表6.2のとおり、
2016.08.10
1刷 284
「問題のあるエンティティクラスのコンストラクタ」2行目
2刷

「()」を削除します。
2016.03.17
1刷 304
図7.16
2刷

「@Entitay」ではなく「@Entity」です。
2015.12.21
1刷 364
図8.9
2刷
2016.08.10
1刷 369
図8.13の前、側注
2刷
以下の文章を追加します。
図8.13の前 図8.13は、複数の処理が同じデータベースへその都度アクセスしてナレッジを取得している例です【4】。 側注 【4】 それぞれ取得している情報がまったく異なっていたり、そもそも処理Aが実行される回数が少ないのであれば、それほど問題になりませんが、もし高頻度に同じ情報を取得しているのであれば、もう少し効率化を考えたいところです。
2016.08.10
1刷 397
図9.3中、本文下から2行目、最下行(3か所)
2刷
レスポンスライン
ステータスライン
2017.04.10
1刷 401
「9.2.1 JAX-RSとは」の「REST サービス記述例」
2刷

「R」を小文字に訂正します。
2016.07.25
1刷 401
表9.5 「403 Forbidden」の前に1行追加
2刷
| 403 Forbidden |  リソースへのアクセスが禁止されていることを表わす |
| 304 Not Modified | リクエストしたリソースは更新されていないことを表わす |
| 403 Forbidden |  リソースへのアクセスが禁止されていることを表わす |
2017.04.10
1刷 424
「@javax.ws.rs.DefaultValueアノテーション」のコードへのコメント
2刷
countには「aaa」をインジェクションする
countには「1」をインジェクションする
2017.04.10
1刷 429
③の4~5行目、④の4行目(2か所)
2刷
表9.15のリクエストを送信すると、
表9.16のリクエストを送信すると、
2016.07.25
1刷 442
下から2行目
2刷
curl -v-u suzuki:suzuki -X DELETE http://localhost:8080/knowledgebank/webresources/knowledge/123
curl -v -u suzuki:suzuki -X DELETE http://localhost:8080/knowledgebank/webresources/knowledge/123

「-u」の前にスペースを追加
2017.04.10
1刷 477
①~③の箇条書きの次の行
2刷
開発者はそれらを継承したクラスを実装します。
開発者はそれらを実装(implements)します。
2017.04.10
1刷 480
図10.6 下の右
2刷
RetryReadListener.onRetryReadException() SkipReadListener.onSkipReadItem()
RetryWriteListener.onRetryWriteException() SkipWriteListener.onSkipWriteItem()
2017.04.10
1刷 485
「■ batchlet要素」の1行目
2刷
chunk 要素はstep の子要素で、
batchlet要素はstep の子要素で、
2017.04.10
1刷 512
リスト 下から4~6行目
2刷
knowledgeCountQuery = em.createQuery( "select count(k) from Knowledge k where k.accountId = :id and k.createAt < :asOf");
knowledgeCountQuery = em.createQuery( "select count(k) from Knowledge k where k.account.id = :id and k.createAt < :asOf");

「k.accountId」に「.」を追加し、「k.account.id」に訂正します。
2015.12.15
1刷 533
一番上のリストのキャプション
2刷
出力ファイル(ソートされたファイルのCSV)
出力ファイル(ソートされたファイルのCSV)。実際はナレッジ0件のユーザー(山田一郎、吉田十一郎)はどちらか1名のみ出力され、10行の出力になる
2015.12.15
1刷 534
リストのキャプション
2刷
修正した ItemReader#readItem()
修正した ItemReader#open()
2015.12.15
1刷 539
図10.21中
2刷
KnowledgeCountProcessor
CommentCountProcessor
2017.04.10
1刷 540
リスト中ほど「// item で渡された Account の、前日までのコメント数を取得するクエリを作成」のJPQL
2刷
knowledgeCountQuery = em.createQuery( "select count(kc) from KnowledgeComment kc where kc.accountId = :id and kc.createAt < :asOf");
knowledgeCountQuery = em.createQuery( "select count(kc) from KnowledgeComment kc 《改行マーク》 where kc.account.id = :id and kc.createAt < :asOf");

「kc.accountId」に「.」を追加して「kc.account.id」に訂正し、「 "select count(kc) from KnowledgeComment kc」の後ろに書籍上の改行マークを追加します。
2015.12.15
1刷 546
リスト内 囲みのネーム
2刷
2015.12.15
1刷 550
3行目
2刷
0?" to="NOTICE-WARN" />
1?" to="NOTICE-WARN" />
2017.04.10
1刷 サンプルソース
「サンプルソース」→「knowledgebank」→「pom.xml」
以下のブロックが不要ですので、削除してください。
 <parent>   <artifactId>    knowledgebank_app   </artifactId>  </parent>

ダウンロードサンプルの内容を変更いたしました(2015年12月21日)
2015.12.21

感想・レビュー

benjoe さん

2016-10-16

JavaEE7の書籍だと「わかりやすいJavaEEウェブシステム入門」を先に読んだが、あちらはJAX-RSやJBatchについては触れていない為、こちらの方が扱っている範囲が広い。あちらは入門書、こちらはリファレンス向きかなと感じた。

ショウヤ さん

2016-07-02

Java EE7の概要を理解するのによい1冊。RESTful Webサービスの実装のためJAX-RSの章を中心に読んだが、わかりやすく解説されていた。サンプルが提供されているので、ソースコードを確認しながら読めるのがよい。

porin さん

2016-06-22

ざっくり読了。以下大いにためになりました。 - CDIとEJBの違い - インターセプターとデコレータの使い分け - JPAの各要素の位置付け