SlideShare a Scribd company logo
皇紀二六七三年(平成二十五年)
十一月十五日
岩崎浩文


福岡で某会社の技術管理責任者やってます






元々WebLogic (旧Tengah) Loveです






その延長でJava EE (旧J2EE)推しです

昔いっぱい連載しました




とはいえプログラムできなければ管理できっこないので、
ガンガン書いてます
福岡住みやすいです。が、生まれも育ちも熊本です。

最近は本業変えてすっかりご無沙汰です

JavaOneは2013・2012・2001・2000に行きました。
日本のだと2002に喋りました
http://www.mushagaeshi.com
2
Java EE spec reads
結構有名人達
CDI supports
@Transactional
annotation, and it seems
EJB Session Bean will be
merged to CDI. Correct?

Actually, it should be.
(Antonio Goncalves, the
EJB spec reader, writer of
"beginning Java EE 7)


企業向けのJava標準仕様です。JEEとも。





Microsoft以外の会社が参加してます





Java Platform, Enterprise Edition
その昔J2EEと言ってました。
 Java 2 Platform, Enterprise Edition
 結構恥ずかしい名前なので忘れて下さい
三強がOracle, IBM, Red Hat辺り。
日本だと富士通、日立、NEC辺り。

今年最新版が出ました。EE 7です。
5
J2EE
1.2
(1999)

誕生!

J2EE
1.3
(2001)

J2EE
1.4
(2003)

Java EE
5
(2006)

Java EE
6
(2009)

順風
満帆

もっかい
単一仕様に
まとまろうぜ!!

6

Java EE
7
(2013)
App
Engine

WebLogic World
GlassFish &
Compatible Group
Geronimo &
Compatible Group
Copy

Japan Galapagos
Group

JBoss World

7
Vendor

App Server

EE 1.4
(2003-)

EE 5
(2006-)

EE 6
(2009-)

EE 7
(2013-)

Oracle

WebLogic

9.x

10.x

12.x

-

Oracle

GlassFish

-

2.x

3.x

4.0

IBM

WebSphere

5.1

6.x, 7.x

8.x

-

IBM

Geronimo

-

2.x

3.x

-

Red Hat

JBoss

4.x

5.1

7.1

-

富士通

Interstage

9.0,9.1

9.2,10.x,11.
0

11.1

-

日立

Cosminexus

7.x

8.x

9.x

-

だがしかし、
来年はEE 7来るよ!!

デファクトスタンダードは
依然としてEE 6
8
Java EE 7の
準備はOK?

9


CDI 1.1






Bean Validation 1.1





メソッドレベルバリデーションのサポート
EL式の更新とエラーメッセージの書き換え等

Interceptors





JSFとの(ようやくの完全)統合
簡易EJBぽい用途としての自動トランザクション @Transactionalサポート
クラスローディングから除外する@Vetoedサポート

@AroundConstructor, @PreDestroy の追加
順序@Priority, @Interceptors({1st, 2nd})追加(ようやく・・・)

Concurrency 1.0




標準のスレッド制御仕様が(ようやく)追加
ダイナミックプロクシー追加

10


EJB 3.2




JMS 2.0





リソース設定の改善
クライアント側のアノテーションでの呼び出しサポート

JTA 1.2




非永続化EJBタイマーの追加

CDIに@Transactional, @TransactionScoped 追加

JPA 2.1






マッピング用コンバーターの追加
クライテリアクエリーとJPQLの強化
動的ネームドクエリーの追加
非同期永続化コンテクストの追加
標準のDDL自動生成機能仕様の追加

11


JSF 2.2







Servlet 3.1






CDI統合と @ViewScoped @FlowScoped の追加
新規HTML-friendly styleタグの追加
CSRF対策IDの自動処理機能
EL 3.0と新規記述子・ラムダ式の追加

ノンブロッキングI/O
プロトコル更新HttpUpgradeHanderの追加
セキュリティ強化

Web Socket 1.1




新仕様。全二重双方向の通信
新アノテーション(サーバー・クライアント)
新エンコーダー・デコーダー
12


ずばり、JSF 2.2でしょう!!!

13






遂にJava EEだけで全部作れるようになりまし
た!!
さよならJSP!!
さよならStruts!!
さよならCommons!!

※2.2以降が必須です

14


CDIとの完全統合




JSF Managed Beanはdeprecated(廃止予定)

HTML5の完全サポート


HTML friendly styleの完全置換

15





たったこんだけ?
いやいやこいつら根幹ですよ
Java EE 6からの移行の際の影響度合い:

16
Java EE 6 (JSF 2.1)

Facelet
Filter

Faces
Servlet

Managed
Bean
@View
Scoped

Facelet

Managed
Bean
@View
Scoped

Facelet

Managed
Bean
@View
Scoped

Phase
Listeners

Managed
Bean
@Session
Scoped

俺俺な
JSF世界


残念ながらJSF 2系ではこれちゃんと動きません。

protected FacesContext getFacesContext(HttpServletRequest request,
HttpServletResponse response) {
FacesContext facesContext = FacesContext.getCurrentInstance();
if (facesContext == null) {
FacesContextFactory contextFactory
= (FacesContextFactory)FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
LifecycleFactory lifecycleFactory
= (LifecycleFactory)FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
Lifecycle lifecycle = lifecycleFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
facesContext = contextFactory.getFacesContext(request.getSession().getServletContext(),
request, response, lifecycle);
// Set using our inner class
InnerFacesContext.setFacesContextAsCurrentInstance(facesContext);
// set a new viewRoot, otherwise context.getViewRoot returns null
UIViewRoot view = facesContext.getApplication().getViewHandler()
.createView(facesContext, "");
facesContext.setViewRoot(view);
}
return facesContext;
}
Java EE 6 (JSF 2.1)
NG!

CDI
don't have
@View
Scoped

Facelet
Filter

Faces
Servlet

Phase
Listeners

NG!

CDI
don't have
@View
Scoped

Facelet

NG!
Facelet
Managed
Bean
@Session
Scoped

OK!

CDI
don't have
@View
Scoped

統合された
CDIな世界
Java EE 7 (JSF 2.2)
OK!
Facelet
Filter

Facelet

New CDI
@View
Scoped

Facelet

Faces
Servlet

New CDI
@View
Scoped

New CDI
@View
Scoped

Phase
Listeners

CDI
@Session
Scoped

OK!
Java EE 7
を待つべし!!

統合された
CDIな世界
Java EE 6 (JSF 2.1)

<input type="text"
jsfc="h:inputText"
name="id"
value="#{bean.property}" />
Java EE 7 (JSF 2.2)

Changed!

<input type="text”
jsf:value="#{bean.property}" />

Java EE 7
を待ちましょう!!!!!






アクション単位(Struts)と画面単位(JSF)の違い
単純レンダリング(JSP)とテンプレートエンジン
(Facelet)の違い
俺仕様Actionクラス(Struts)とCDI (JSF)の違い
要するに180度違う(ので移行の際は作り直し)

22
Struts
Action1

画面1
JSP

+ action()

画面2
JSP

Action2

画面3
JSP

+ action()

要するに

作り直し

JSF 2

画面1
Facelet

画面2
Facelet
Backing1
- fields
+ action()

画面3
Facelet
Backing2
- fields
+ action()

23

Backing3
- fields
+ action()
誰も作ってくれないので試しに作ってみました

24
25


とりあえずNetBeansで Maven > Webプロジェ
クトを選択しましょう。







プロジェクトを右クリックして、Frameworkで
JSF 2.2を選択しましょう。
拡張子設定を *.xhtmlに変更しましょう




綺麗なMavenのプロジェクトができます。
NetBeansのプロジェクトじゃないんです!!

これで全部の.xhtmlファイルが駆動するようになりま
す。

実行しましょう! こんだけ!! 超簡単!!!
26
27
28
29
30
1.

2.

Webページ/WEB-INF/のしたで新規作成 >
GlassFishディスクリプタを選びます。
<parameter-encoding default-charset=“UTF8”/>
を追加します。

31
32


画面ごとにBacking Beanを作りましょう!






新規作成 > Javaクラス
出来たクラスにアノテーションを付けましょう







名前を合わせておくと便利です
index.xhtml  IndexBean.java

@Named  CDIですよって宣言
@ViewScoped  Backing Beanですよって宣言

最後に implements Serializableを付けましょう
めんどくさいのですが、現在NetBeansに
↑のウィザード追加作業中だそうです
33
34


index.xhtml





IndexBean.java





Faceletファイル
Apache Tapestryみたいなテンプレート
Backing Bean (CDI)
.NETのCode Behindみたいなのと思って下さい

WEB-INF/glassfish-web.xml


文字化けしないように必要です

35
1.
2.

3.

4.
5.

表示用のフィールドを追加しましょう
Backing Beanに@PostConstractメソッドを追
加します
追加したメソッドにDBからデータを取ってき
ます。EJBとJPA使いましょう
表示用フィールドにデータを詰めます
Facelet側で #{beanName.fieldName}と書きま
す。終わり!

36
37
38
39
1.

2.

3.

4.

入力項目用のフィールドとgetter, setterを作り
ます。Entity系でもいいです。
@PostConstractメソッドでDBからデータ取っ
てきて、フィールドに詰めます。
Facelet側に<form jsf:id=“form”>と、入力フィー
ルドにjsf:value=“{beanName.propertyName}”と
入れておきます。
実行したら最初から入力項目に値が入ってます。

40
41
1.

2.

3.

4.

入力項目用のフィールドとgetter, setterを作ります。
Entity系でもいいです。追加で、ボタンが押された
ときに呼び出されるメソッド(click())を、返り値
String型で作っておきます。(とりあえず空っぽ)
Facelet側に<form jsf:id=“form”>と、入力フィール
ドにjsf:value=“{beanName.property}”と入れておき
ます。
ボタン<input type=“submit”
jsf:action=“bean.click()”/>を追加します。
入力した値は入力項目用フィールドに入ってます
ので、click()メソッドの中で拾って処理します。返
り値には遷移先のFacelet名を「拡張子抜き
+?faces-redirect=true」で返します。
42
43
1.

2.
3.

4.

5.

前の画面の@ViewScopedのBacking Beanのaction
メソッドで、FacesContextからflashを取り出しま
す。
flashに値をputします(Mapなのでkey+value)で。
前の画面のactionメソッドで「次の画面の拡張子抜
き+faces-redirect=true」をreturnし遷移させます
(302リダイレクト)
次の画面の@ViewScopedのBacking Beanの
@PostConstrcutメソッドを作成し、FacesContext
のflashから値をgetします。
flashの値は1回しか読めないので、すぐ次の画面の
Backing Beanのフィールドに突っ込みます。
44
45
46


画面のFaceletとBacking Beanは1対1で作りま
しょう。Backing Beanは@ViewScopedにしま
しょう。




用途とメモリー効率を考えればこれが最適解です

FacletはHTML-friendly styleで書きましょう


HTML5 / CSS3対応でresponsible web designしよう
としたら、事実上これしか解がないのではと思いま
す。

47


他にもいろいろあると思うんですが、こういう
情報がまとまってると超嬉しいな




誰か書いて下さい!!

ただ、ホントにやったことある人じゃないと書
けないかも知れない



鶏と卵の関係ですかね・・・
みんな作りまくれ!!

48
49

More Related Content

What's hot

Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
Hirofumi Iwasaki
 
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce MomjianRapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
Fuenteovejuna
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
Yusuke Shirakawa
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Hirofumi Iwasaki
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみた
Yuki Obara
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
tsukasamannen
 
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor  WebAssemblyのすすめStatic Web AppsとBlazor  WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
 
AWSスポットインスタンスの真髄
AWSスポットインスタンスの真髄AWSスポットインスタンスの真髄
AWSスポットインスタンスの真髄
外道 父
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
Yasuhiro Murata
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
 
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせるブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
KLab Inc. / Tech
 
【de:code 2020】 Microsoft Teams アプリケーション開発入門
【de:code 2020】 Microsoft Teams アプリケーション開発入門【de:code 2020】 Microsoft Teams アプリケーション開発入門
【de:code 2020】 Microsoft Teams アプリケーション開発入門
日本マイクロソフト株式会社
 
脱 Excel設計書
脱 Excel設計書脱 Excel設計書
脱 Excel設計書
rai
 
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
VirtualTech Japan Inc.
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
Yuki Hirano
 
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
Koji Kawamura
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
 

What's hot (20)

Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
 
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce MomjianRapid Upgrades With Pg_Upgrade, Bruce Momjian
Rapid Upgrades With Pg_Upgrade, Bruce Momjian
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみた
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor  WebAssemblyのすすめStatic Web AppsとBlazor  WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
 
AWSスポットインスタンスの真髄
AWSスポットインスタンスの真髄AWSスポットインスタンスの真髄
AWSスポットインスタンスの真髄
 
メディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearchメディアコンテンツ向け記事検索DBとして使うElasticsearch
メディアコンテンツ向け記事検索DBとして使うElasticsearch
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせるブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
 
【de:code 2020】 Microsoft Teams アプリケーション開発入門
【de:code 2020】 Microsoft Teams アプリケーション開発入門【de:code 2020】 Microsoft Teams アプリケーション開発入門
【de:code 2020】 Microsoft Teams アプリケーション開発入門
 
脱 Excel設計書
脱 Excel設計書脱 Excel設計書
脱 Excel設計書
 
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
Canonicalが支える、さくっと使えるUbuntu OpenStack - OpenStack Day in ITpro EXPO 2014
 
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
 
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!?  Magic WANDってなんですか?
祝Elasticsearch 7.6、date, number 型での ソートがさらに高速に!? Magic WANDってなんですか?
 
iostatの見方
iostatの見方iostatの見方
iostatの見方
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 

More from Hirofumi Iwasaki

45分で作る Java EE 8 システム
45分で作る Java EE 8 システム45分で作る Java EE 8 システム
45分で作る Java EE 8 システム
Hirofumi Iwasaki
 
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Hirofumi Iwasaki
 
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Hirofumi Iwasaki
 
Java EE 7 for Real Enterprise Systems
Java EE 7 for Real Enterprise SystemsJava EE 7 for Real Enterprise Systems
Java EE 7 for Real Enterprise Systems
Hirofumi Iwasaki
 
Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
Hirofumi Iwasaki
 
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Hirofumi Iwasaki
 
Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
Hirofumi Iwasaki
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Hirofumi Iwasaki
 
Future of Java EE with SE 8 (revised)
Future of Java EE with SE 8 (revised)Future of Java EE with SE 8 (revised)
Future of Java EE with SE 8 (revised)
Hirofumi Iwasaki
 
Move from J2EE to Java EE
Move from J2EE to Java EEMove from J2EE to Java EE
Move from J2EE to Java EE
Hirofumi Iwasaki
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
Hirofumi Iwasaki
 

More from Hirofumi Iwasaki (11)

45分で作る Java EE 8 システム
45分で作る Java EE 8 システム45分で作る Java EE 8 システム
45分で作る Java EE 8 システム
 
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
 
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
 
Java EE 7 for Real Enterprise Systems
Java EE 7 for Real Enterprise SystemsJava EE 7 for Real Enterprise Systems
Java EE 7 for Real Enterprise Systems
 
Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
 
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
 
Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
 
Future of Java EE with SE 8 (revised)
Future of Java EE with SE 8 (revised)Future of Java EE with SE 8 (revised)
Future of Java EE with SE 8 (revised)
 
Move from J2EE to Java EE
Move from J2EE to Java EEMove from J2EE to Java EE
Move from J2EE to Java EE
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
 

Recently uploaded

This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 

Recently uploaded (12)

This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 

Java EE 7技術アップデート & 逆引き JSF 2.2

Editor's Notes

  1. 1st issue, JSF backing bean defectively. When some facelet or managed bean set to the session scoped bean, the filter cannot access to the session scoped bean directly.
  2. Some blogs and web sites shows these codes to access backing bean from non-JSF objects, but not worked properly in JSF 2.So we must override phase listeners for filtering, but very harmful and uncertain codes required.
  3. Of course you can switch the backing bean from JSF managed bean to CDI bean.But unfortunately, Java EE 6 CDI didn&apos;t have @ViewScoped annotations, so we cannot use one-by-one style with facelets.I cannot understand this conflicted situation in EE 6.
  4. In EE 7, these conflicts are already cleared and well integrated with JSF and CDI.CDI added @ViewScoped annotation to access one-by-one style with facelet.This strategy must be considered in the first JSF, but achieved in Java EE 7. It&apos;s too late for us!So wait for the Java EE 7 if you can.
  5. Java EE 6 has some irregular tags named &apos;jsfc&apos;.Java EE 7 JSF 2.2 changed these silly tags to XML schema compliant style. It&apos;s good for applying standards, but there&apos;s many cost required for updating from JSF 2.1.So, you should start from Java EE 7 if you can.