SlideShare uma empresa Scribd logo
1 de 49
皇紀二六七三年(平成二十五年)
十一月十五日
岩崎浩文


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





元々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

Mais conteúdo relacionado

Mais procurados

Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
Yuya Yamaki
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
 

Mais procurados (20)

Prestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnightPrestoクエリログの保存/分析機能の構築 #yjdsnight
Prestoクエリログの保存/分析機能の構築 #yjdsnight
 
Oracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみるOracle Database (CDB) on Docker を動かしてみる
Oracle Database (CDB) on Docker を動かしてみる
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方JDKの選択肢とサーバーサイドでの選び方
JDKの選択肢とサーバーサイドでの選び方
 
Async awaitでの繰り返し処理についての小話
Async awaitでの繰り返し処理についての小話Async awaitでの繰り返し処理についての小話
Async awaitでの繰り返し処理についての小話
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
 
GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
 
Java SE 再入門
Java SE 再入門Java SE 再入門
Java SE 再入門
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
Parser combinatorってなんなのさ
Parser combinatorってなんなのさParser combinatorってなんなのさ
Parser combinatorってなんなのさ
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
 
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
スキーマレスカラムナフォーマット「Yosegi」で実現する スキーマの柔軟性と処理性能を両立したログ収集システム / Hadoop / Spark Con...
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
 
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
 
Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る Linuxのsemaphoreとmutexを見る 
Linuxのsemaphoreとmutexを見る 
 

Mais de 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
 

Mais de Hirofumi Iwasaki (14)

MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステムMicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
 
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
 
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
 
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
 

Último

Último (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

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

Notas do Editor

  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.