Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Masuji Katoda
PDF, PPTX
5,455 views
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Technology
◦
Read more
13
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 35
2
/ 35
3
/ 35
4
/ 35
5
/ 35
6
/ 35
7
/ 35
8
/ 35
9
/ 35
10
/ 35
11
/ 35
12
/ 35
13
/ 35
14
/ 35
15
/ 35
16
/ 35
17
/ 35
18
/ 35
19
/ 35
20
/ 35
21
/ 35
22
/ 35
23
/ 35
24
/ 35
25
/ 35
26
/ 35
27
/ 35
28
/ 35
29
/ 35
30
/ 35
31
/ 35
32
/ 35
33
/ 35
34
/ 35
35
/ 35
More Related Content
PDF
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
by
NTT DATA Technology & Innovation
PDF
Airflowを広告データのワークフローエンジンとして運用してみた話
by
Katsunori Kanda
PDF
Java EE から Quarkus による開発への移行について
by
Shigeru Tatsuta
PDF
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
PDF
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
PPTX
node-gypを使ったネイティブモジュールの作成
by
shigeki_ohtsu
PPTX
JobSchedulerでのジョブの多重実行・排他制御
by
OSSラボ株式会社
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
by
NTT DATA Technology & Innovation
Airflowを広告データのワークフローエンジンとして運用してみた話
by
Katsunori Kanda
Java EE から Quarkus による開発への移行について
by
Shigeru Tatsuta
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
テスト文字列に「うんこ」と入れるな
by
Kentaro Matsui
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
by
Takuto Wada
node-gypを使ったネイティブモジュールの作成
by
shigeki_ohtsu
JobSchedulerでのジョブの多重実行・排他制御
by
OSSラボ株式会社
What's hot
PPTX
3.Java EE7 徹底入門 CDI&EJB
by
Tsunenaga Hanyuda
PDF
アジャイルにモデリングは必要か
by
Hiromasa Oka
PPTX
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
by
Hironobu Isoda
PPTX
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
by
DeNA
PDF
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
by
Daisuke Ikeda
PDF
PHPからgoへの移行で分かったこと
by
gree_tech
PDF
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
PDF
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
PPTX
RDB開発者のためのApache Cassandra データモデリング入門
by
Yuki Morishita
PDF
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
PDF
超実践 Cloud Spanner 設計講座
by
Samir Hammoudi
PDF
コンテナにおけるパフォーマンス調査でハマった話
by
Yuta Shimada
PDF
LeSSでつなぐビジネスとIT
by
Takao Kimura
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
PPTX
Jakarta EE + MicroProfile との付き合い方
by
Hirofumi Iwasaki
PDF
DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
by
BIGLOBE Inc.
PDF
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
by
Unity Technologies Japan K.K.
PPTX
GraphQLのsubscriptionで出来ること
by
Shingo Fukui
PDF
新機能によるデータベースシステムの改善ポイント
by
オラクルエンジニア通信
3.Java EE7 徹底入門 CDI&EJB
by
Tsunenaga Hanyuda
アジャイルにモデリングは必要か
by
Hiromasa Oka
今こそ知りたいSpring Web(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
by
Hironobu Isoda
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
by
DeNA
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
by
Daisuke Ikeda
PHPからgoへの移行で分かったこと
by
gree_tech
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
Dockerfile を書くためのベストプラクティス解説編
by
Masahito Zembutsu
RDB開発者のためのApache Cassandra データモデリング入門
by
Yuki Morishita
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
超実践 Cloud Spanner 設計講座
by
Samir Hammoudi
コンテナにおけるパフォーマンス調査でハマった話
by
Yuta Shimada
LeSSでつなぐビジネスとIT
by
Takao Kimura
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
Jakarta EE + MicroProfile との付き合い方
by
Hirofumi Iwasaki
DDD Alliance レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡
by
BIGLOBE Inc.
【Unite 2017 Tokyo】「黒騎士と白の魔王」にみるC#で統一したサーバー/クライアント開発と現実的なUniRx使いこなし術
by
Unity Technologies Japan K.K.
GraphQLのsubscriptionで出来ること
by
Shingo Fukui
新機能によるデータベースシステムの改善ポイント
by
オラクルエンジニア通信
Similar to JavaEE7徹底入門 プレゼンテーション層の開発 JSF
PDF
JSF2.2で簡単webアプリケーション開発
by
Masuji Katoda
PDF
Strutsから移行する人のためのjsf基礎
by
Satoshi Kubo
PDF
Java女子部 Java EEハンズオン(応用編)
by
Misaki Kajiura
PPTX
Glassfish勉強会(JavaEE6について)
by
Ryo Asai
PDF
JavaEE6 First Application #glassfishjp
by
Satoshi Kubo
KEY
Beginning Java EE 6 勉強会(4) #bje_study
by
George Okada
JSF2.2で簡単webアプリケーション開発
by
Masuji Katoda
Strutsから移行する人のためのjsf基礎
by
Satoshi Kubo
Java女子部 Java EEハンズオン(応用編)
by
Misaki Kajiura
Glassfish勉強会(JavaEE6について)
by
Ryo Asai
JavaEE6 First Application #glassfishjp
by
Satoshi Kubo
Beginning Java EE 6 勉強会(4) #bje_study
by
George Okada
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
by
Ayachika Kitazaki
PDF
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
by
Graat(グラーツ)
PDF
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026
by
Matsushita Laboratory
PDF
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf
by
Matsushita Laboratory
PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」
by
嶋 是一 (Yoshikazu SHIMA)
20260119_VIoTLT_vol22_kitazaki_v1___.pdf
by
Ayachika Kitazaki
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか
by
Graat(グラーツ)
TomokaEdakawa_職種と講義の関係推定に基づく履修支援システムの基礎検討_HCI2026
by
Matsushita Laboratory
maisugimoto_曖昧さを含む仕様書の改善を目的としたアノテーション支援ツールの検討_HCI2025.pdf
by
Matsushita Laboratory
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf
by
akipii ogaoga
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S...
by
akipii ogaoga
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望
by
CRI Japan, Inc.
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
1.
『Java EE 7
徹底入門』 プレゼンテーション層の開発 JSF 2016/02/15 JJUG ナイトセミナー #JJUG 加藤田 益嗣 @den2sn
2.
Safe Harbor Statement •
本資料は私個人の見解であり所属会社の見解を反映したものではありません。 • 本資料の作成にあたっては正確な記述につとめましたが、内容に対してなんら 保証をするものではなく、内容に基づくいかなる運用結果に関してもいっさいの 責任を負いません。 22016/02/15 JJUG Night Seminar #JJUG
3.
自己紹介 加藤田 益嗣(Katoda Masuji) •
日本オラクル株式会社 クラウド・テクノロジーコンサルティング統括本部 シニアコンサルタント • Java、Java EEの開発技術支援 • Java EE 7 徹底入門[第2~4 章担当] 32016/02/15 JJUG Night Seminar #JJUG
4.
本日話す内容 • 本書の概要 • JSFの概要と構成要素 •
本書では触れられなかった話 42016/02/15 JJUG Night Seminar #JJUG
5.
本書の概要 2016/02/15 JJUG Night
Seminar #JJUG 5
6.
アンケート JSFを使用して開発したことがある方 62016/02/15 JJUG Night
Seminar #JJUG (^_^)/
7.
Java EE 7徹底入門の目次 •
第1章 Java EEの基礎知識 • 第2章 プレゼンテーション層の開発―JSFの基本 • 第3章 プレゼンテーション層の開発―JSFの応用 その1 • 第4章 プレゼンテーション層の開発―JSFの応用 その2 • 第5章 ビジネスロジック層の開発―CDIの利用 • 第6章 ビジネスロジック層の開発―EJBの利用 • 第7章 データアクセス層の開発―JPAの基本 • 第8章 データアクセス層の開発―JPAの応用 • 第9章 RESTful Webサービスの開発 • 第10章 バッチアプリケーションの開発 72016/02/15 JJUG Night Seminar #JJUG 約150 ページ
8.
Java EE 7徹底入門の目次(第2~4章) •
第2章 JSFの基本 – JSF概要 – JSFの構成要素 – JSFの画面遷移 – JSF の内部処理 – JSF の基本設定 – フェースレットタグライブラリ – EL(Expression Language) • 第4章 JSFの応用 その2 – 認証/認可 – 国際化 – ブックマーカビリティ – フェーズリスナ – Java EE 7で導入されたJSF の機能 – まとめ 2016/02/15 JJUG Night Seminar #JJUG 8 • 第3章 JSFの応用 その1 – 入力チェック – コンバータ – コンポーネントのカスタマイズ – フェースレットテンプレート – HTML5フレンドリマークアップ – Ajax
9.
第2~4章で説明するJSFの主な機能 92016/02/15 JJUG Night
Seminar #JJUG サーバ フェースレット マネージドビーン タグライブラリ EL 画面遷移 スコープ 入力チェック コンバータ コンポーネント テンプレート HTML5 Ajax 認証認可 国際化 ブックマーカビリティ フェーズリスナ ユーザ 第2章 第3章 第4章
10.
サンプルアプリケーション • ナレッジバンク – ナレッジを収集するためのシステム –
ナレッジの投稿、コメントの追加が可能 – 本書でより実用的な機能を説明するために作成 102016/02/15 JJUG Night Seminar #JJUG
11.
サンプルアプリケーションのデモ 2016/02/15 JJUG Night
Seminar #JJUG 11
12.
サンプルアプリケーションの画面遷移 2016/02/15 JJUG Night
Seminar #JJUG 12 アカウント登録ログイン ナレッジ変更 ナレッジ投稿 アカウント登録 登録 ログイン 検索 詳細 変更 投稿 削除 コメント投稿 ナレッジ投稿 ログアウト 変更 ナレッジ詳細 ナレッジ一覧
13.
JSFの概要と構成要素 2016/02/15 JJUG Night
Seminar #JJUG 13
14.
JSFとは • Java EE
5から導入されたプレゼンテーション層を作成するための フレームワーク • Java EE 7でのバージョンはJSF2.2 142016/02/15 JJUG Night Seminar #JJUG データ ベース アプリケーションサーバ JPA jBatch EJB JAX-RS JSF CDI アプリケーション
15.
プレゼンテーション層のフレームワーク • 主にブラウザの画面とサーバ間の処理を受け持つ • Java
EE 5以前はサーブレット+JSPを使用 – HTTPアクセスに対する低レイヤーの機能を提供 • サーブレットだけでは値のマッピングや入力チェックなどWebアプリ ケーションで必要な機能がなく、サードパーティ製フレームワークを 併用 – Struts、Spring MVC等 • Java EE 5以降はJSFをJava EEの標準仕様として導入 152016/02/15 JJUG Night Seminar #JJUG
16.
プレゼンテーション層のフレームワークイメージ 2016/02/15 JJUG Night
Seminar #JJUG 16 サーブレット Struts Spring MVC JSF Webアプリケーション Webアプリケーション Webアプリケーション ブラウザとHTTP通信を するための機能を提供 値のマッピングや 入力値のチェックやなど、 Webアプリケーションで必要な 機能を提供 開発するアプリケーション Java EEの仕様で提供
17.
JSFの構成要素 • JSFを構成する要素にはフェースレットとマネージドビーンがある 2016/02/15 JJUG
Night Seminar #JJUG 17 フェースレット マネージドビーン 画面の定義 処理の定義
18.
フェースレットとは • 画面のレイアウトを記述するXHTMLベースのテン プレートエンジン • JSF2.0からJSPの代わりに使用 182016/02/15
JJUG Night Seminar #JJUG フェースレット マネージドビーン
19.
フェースレットとJSPとの違い • XHTML(XML)なので記載が厳密 – 記載を統一しやすい •
スクリプトレットが記載できない – 画面中にJavaのコードが使用できない – 画面と処理を明確に分離 • 文字列のサニタイジング – 表示文字列中のHTMLの特殊文字はサニタイジングする – セキュアに画面が作成 • nullの文字列表示処理 – nullは空文字として表示 • テンプレート機能 – テンプレート機能をタグライブラリで提供 192016/02/15 JJUG Night Seminar #JJUG フェースレット マネージドビーン
20.
フェースレットの記載例 • アカウント登録画面 2016/02/15 JJUG
Night Seminar #JJUG 20 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Knowledge Bank</title> </h:head> <h:body> <div id="top_content"> <h:form id="form"> <h1>アカウント登録</h1> <div class="entry"> <div> <label>ユーザID</label> <div> <h:inputText id="userId" value="#{accountBean.account.userId}" /> <h:message for="userId" errorClass="error"/> </div> ... HTMLとほぼ同様の記載 フェースレット マネージドビーン
21.
フェースレットの構成要素 • フェースレットタグライブラリ • EL(Expression
Language) 212016/02/15 JJUG Night Seminar #JJUG フェースレット マネージドビーン
22.
入力と登録ボタン部分のソースコード 222016/02/15 JJUG Night
Seminar #JJUG <label>ユーザID</label> <div> <h:inputText id="userId" value="#{accountBean.account.userId}" /> <h:message for="userId" errorClass="error"/> </div> フェースレットが提供する タグライブラリ 入力項目とマネージドビーンとの紐 付け(バインド)にEL式を利用 <h:commandButton action="#{accountBean.register()}" value="登録" /> ボタンを押下するとregisterメ ソッドが呼ばれる フェースレット マネージドビーン
23.
マネージドビーンとは • フェースレットとバインドするJavaのクラス • 入力値の保持やボタン押下時の処理などを行う 232016/02/15
JJUG Night Seminar #JJUG フェースレット マネージドビーン
24.
マネージドビーンの構成要素 • スコープ • バインドする値の保持 •
ビジネスロジックの呼び出し • 画面遷移 242016/02/15 JJUG Night Seminar #JJUG フェースレット マネージドビーン
25.
マネージドビーンの記載例 • アカウント登録マネージドビーン 252016/02/15 JJUG
Night Seminar #JJUG @Named @RequestScoped public class AccountBean { private Account account = new Account(); public Account getAccount() { return account; } public void setAccount(Account account) { this.account = account; } public String register() { account.setAccountGroup("userGroup"); account.setPassword(PasswordUtil.hash(password)); accountFacade.create(account); return "/login?faces-redirect=true"; } } スコープの定義 入力値を保有する フィールド ボタン押下時の処理 ログイン画面に遷移 フェースレット マネージドビーン
26.
フェースレットとマネージドビーンの処理イメージ 262016/02/15 JJUG Night
Seminar #JJUG アカウント登録画面 (account/register.xhtml) アカウント登録マネージドビーン (AccountBean.java) アカウント情報(account) ・ユーザID(userId) ・名前(name) ・メールアドレス(mail) ・パスワード(password) 登録処理(register) { } ユーザID アカウント登録 名前 メールアドレス パスワード 登録 EL式でバインド ビジネス ロジック の処理へ コンポーネントを主軸にコードを作成するためコンポーネント指向と言われる。
27.
本書では触れられなかった話 2016/02/15 JJUG Night
Seminar #JJUG 27
28.
本書では触れられなかった話 • JSFのより詳細な機能 • Java
EE 8(JSF2.3) • MVC1.0 282016/02/15 JJUG Night Seminar #JJUG
29.
JSFのより詳細な機能 • カスタムコンポーネント • イベントハンドリング –
Value Change Events – Action Events • ビーンバリデーション – グループ化機能 • EL – Lambda式 – 文字列連結オペレータ 292016/02/15 JJUG Night Seminar #JJUG 本資料でも詳細な説明は省略。
30.
Java EE 8(JSF2.3) •
JSF2.3で予定されている新機能 – WebSocket対応 • <f:socket>タグ – マルチフィールドバリデーション • <f:validateWholeBean> – Java Timeサポート • Date and Time APIのサポート – EL式で利用可能な暗黙オブジェクトの追加 • facesContext、session、viewScopeなど – マネージドビーン等への@Inject可能なオブジェクトの追加 • FacesContext、ExternalContextなど 302016/02/15 JJUG Night Seminar #JJUG
31.
MVC1.0 • MVC1.0 – アクション指向フレームワーク –
Java EE 8で導入(現在ドラフト) – JAX-RSを拡張 – ビューにはフェースレット,JSPをサポート • 画面のコンポーネントなどの提供は現状なし – 名前が直接的だけど紛らわしい... 312016/02/15 JJUG Night Seminar #JJUG
32.
MVC1.0実装例 2016/02/15 JJUG Night
Seminar #JJUG 32 @Path("hello") public class HelloController { @GET @Controller public String hello() { return "hello.jsp"; } } @Controllerアノテーションを付 加するとMVCの処理と認識 JAX-RSとほぼ同様の記載 hello.jspに遷移
33.
今後のプレゼンテーションの選択肢 332016/02/15 JJUG Night
Seminar #JJUG どのアーキテクチャを選択しても今後はコンポーネント指向に収束。 Java EE 7 Java EE 8 JSF JAX-RS+クライアントサイドフレームワーク (AngularJS、React、Backbone.jsなど) MVC1.0 + Web Components?
34.
まとめ • プレゼンテーション層の開発について – Java
EE 7環境でのプレゼンテーション層の選択肢 • サーバサイドでJavaで開発=JSF • クライアントサイドでJavaScriptで開発=クライアントサイドフレームワーク +JAX-RS – JSFはかなり成熟(1.0は2004年3月にリリース) • 本書について – Java EE 7のJSFを使用した機能を概ね網羅 – サンプルアプリケーションをベースとしたより実践的な説明 342016/02/15 JJUG Night Seminar #JJUG
35.
以上です。 ご清聴ありがとうございました。 2016/02/15 JJUG ナイトセミナー #JJUG 加藤田
益嗣 @den2sn
Download