Soumettre la recherche
Mettre en ligne
JavaEE6 First Application #glassfishjp
•
3 j'aime
•
2,535 vues
Satoshi Kubo
Suivre
2012/6/4 GlassFish Users Group Japan 勉強会 June 2012
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 75
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Application Server 紹介 #glassfishjp
Application Server 紹介 #glassfishjp
Yuji Kubota
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjp
Toshiaki Maki
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
Satoshi Kubo
Java EEの話(仮)
Java EEの話(仮)
Satoshi Kubo
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
JustSystems Corporation
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
JustSystems Corporation
Jsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke
JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発
Masuji Katoda
Recommandé
Application Server 紹介 #glassfishjp
Application Server 紹介 #glassfishjp
Yuji Kubota
Pure JavaEE or Spring #glassfishjp
Pure JavaEE or Spring #glassfishjp
Toshiaki Maki
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
Satoshi Kubo
Java EEの話(仮)
Java EEの話(仮)
Satoshi Kubo
最新のJava言語仕様で見るモジュールシステム #jjug
最新のJava言語仕様で見るモジュールシステム #jjug
JustSystems Corporation
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
JustSystems Corporation
Jsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke
JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発
Masuji Katoda
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
Yoshiharu Hashimoto
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Takeshi Yoshida
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Masuji Katoda
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
devsumi2009
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
Namba Kazuo
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDB
Mikiya Okuno
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
Tetsuji Hayashi
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
Mikiya Okuno
SEDA – Staged Event-Driven Architecture
SEDA – Staged Event-Driven Architecture
Joongjin Bae
JavaScript 研修
JavaScript 研修
Yuki Ishikawa
MySQLテーブル設計入門
MySQLテーブル設計入門
yoku0825
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
SwapSkills
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
Tetsuji Hayashi
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
Yohei Sasaki
CMS / BLOG and SnoWOman
CMS / BLOG and SnoWOman
WO Community
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
20130412 titanium meetupvol7
20130412 titanium meetupvol7
Hiroshi Oyamada
2012年8月10日 勉強会
2012年8月10日 勉強会
Rin Yano
Blogging on jekyll
Blogging on jekyll
Masakuni Kato
Yesod(at FPM2012)
Yesod(at FPM2012)
Seizan Shimazaki
JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura
Contenu connexe
Tendances
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
Yoshiharu Hashimoto
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
Takeshi Yoshida
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
Masuji Katoda
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
devsumi2009
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
Namba Kazuo
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDB
Mikiya Okuno
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
Tetsuji Hayashi
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
Mikiya Okuno
SEDA – Staged Event-Driven Architecture
SEDA – Staged Event-Driven Architecture
Joongjin Bae
JavaScript 研修
JavaScript 研修
Yuki Ishikawa
MySQLテーブル設計入門
MySQLテーブル設計入門
yoku0825
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
SwapSkills
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
Tetsuji Hayashi
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
Tendances
(14)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
JavaEE7徹底入門 プレゼンテーション層の開発 JSF
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
【12-A-2】 ケーススタディ:不景気と戦うシステムインテグレート
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDB
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
SEDA – Staged Event-Driven Architecture
SEDA – Staged Event-Driven Architecture
JavaScript 研修
JavaScript 研修
MySQLテーブル設計入門
MySQLテーブル設計入門
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
HTML5を使うためのプログレッシブエンハンスメント 〜すべての人に確実に情報を届けるために〜SwapSkillsFreeEventProgressiv...
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Similaire à JavaEE6 First Application #glassfishjp
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
Yohei Sasaki
CMS / BLOG and SnoWOman
CMS / BLOG and SnoWOman
WO Community
Aiming study#6pdf
Aiming study#6pdf
Koutaro Chikuba
20130412 titanium meetupvol7
20130412 titanium meetupvol7
Hiroshi Oyamada
2012年8月10日 勉強会
2012年8月10日 勉強会
Rin Yano
Blogging on jekyll
Blogging on jekyll
Masakuni Kato
Yesod(at FPM2012)
Yesod(at FPM2012)
Seizan Shimazaki
JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
Naoki Sega
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Shumpei Shiraishi
Hakyllで遊んでみた。
Hakyllで遊んでみた。
Tomohiko Himura
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
Muyuu Fujita
Jsのビルド環境
Jsのビルド環境
fourside
VarnishCache入門Rev2.1
VarnishCache入門Rev2.1
Iwana Chan
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
Djangoのススメ
Djangoのススメ
Alisue Lambda
Falconjsの始め方 (share)
Falconjsの始め方 (share)
Jun Funakura
Similaire à JavaEE6 First Application #glassfishjp
(20)
Couch Db勉強会0623 by yssk22
Couch Db勉強会0623 by yssk22
CMS / BLOG and SnoWOman
CMS / BLOG and SnoWOman
Aiming study#6pdf
Aiming study#6pdf
20130412 titanium meetupvol7
20130412 titanium meetupvol7
2012年8月10日 勉強会
2012年8月10日 勉強会
Blogging on jekyll
Blogging on jekyll
Yesod(at FPM2012)
Yesod(at FPM2012)
JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
Hakyllで遊んでみた。
Hakyllで遊んでみた。
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
Jsのビルド環境
Jsのビルド環境
VarnishCache入門Rev2.1
VarnishCache入門Rev2.1
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Djangoのススメ
Djangoのススメ
Falconjsの始め方 (share)
Falconjsの始め方 (share)
Plus de Satoshi Kubo
Jakarta CDI 4.0
Jakarta CDI 4.0
Satoshi Kubo
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Satoshi Kubo
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
Satoshi Kubo
今のJava
今のJava
Satoshi Kubo
できる!Pmdカスタマイズ
できる!Pmdカスタマイズ
Satoshi Kubo
Javaの速度比較
Javaの速度比較
Satoshi Kubo
テストって何がしたいんですか?
テストって何がしたいんですか?
Satoshi Kubo
Strutsから移行する人のためのjsf基礎
Strutsから移行する人のためのjsf基礎
Satoshi Kubo
泥沼の中のパフォーマンスチューニング #JJUG
泥沼の中のパフォーマンスチューニング #JJUG
Satoshi Kubo
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Satoshi Kubo
Advent calendarを作ってみた
Advent calendarを作ってみた
Satoshi Kubo
Java ee6 with scala
Java ee6 with scala
Satoshi Kubo
金魚本に載ってないJpqlの話 #glassfishjp
金魚本に載ってないJpqlの話 #glassfishjp
Satoshi Kubo
Plus de Satoshi Kubo
(13)
Jakarta CDI 4.0
Jakarta CDI 4.0
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
今のJava
今のJava
できる!Pmdカスタマイズ
できる!Pmdカスタマイズ
Javaの速度比較
Javaの速度比較
テストって何がしたいんですか?
テストって何がしたいんですか?
Strutsから移行する人のためのjsf基礎
Strutsから移行する人のためのjsf基礎
泥沼の中のパフォーマンスチューニング #JJUG
泥沼の中のパフォーマンスチューニング #JJUG
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
Advent calendarを作ってみた
Advent calendarを作ってみた
Java ee6 with scala
Java ee6 with scala
金魚本に載ってないJpqlの話 #glassfishjp
金魚本に載ってないJpqlの話 #glassfishjp
Dernier
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Dernier
(11)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
JavaEE6 First Application #glassfishjp
1.
JAVAEE 6
FIRST APPLICATION #GLASSFISHJP 12年6月4日月曜日
2.
JavaEE6作りやすくなったよと いう話はたくさん聞くけど 12年6月4日月曜日
3.
実は作ったことがない 12年6月4日月曜日
4.
そんな人向け
軽い気持ちで見て下さい。 12年6月4日月曜日
5.
自己紹介 •
名前:久保智(@megascus) • Javaが好きらしい • JavaEE6は趣味でやってます! • JavaEE6でSIの現場が楽になればいいなとか 12年6月4日月曜日
6.
アジェンダ •
サンプルアプリを作成 • サンプルアプリにそって説明 12年6月4日月曜日
7.
今回作るアプリの説明 •
基本のCreate,Read,Update,Delete ネタバレ禁止。 12年6月4日月曜日
8.
早速作ってみる
https://github.com/megascus/ JavaEE6FisrtApplication 12年6月4日月曜日
9.
出来上がったファイル一覧 web.xml
UI beans.xml DB faces-config.xml persistence.xml template.xhtml Message.java Create.xhtml MessageFacade.java Edit.xhtml AbstractFacade.java List.xhtml View.xhtml ※他は省略 jsfcrud.css Bundle.properties MessageController.java PaginationHelper.java JsfUtil.java 12年6月4日月曜日
10.
UI(VIEW)から順番に web.xml
beans.xml faces-config.xml persistence.xml template.xhtml Message.java Create.xhtml MessageFacade.java Edit.xhtml AbstractFacade.java List.xhtml View.xhtml ※他は省略 jsfcrud.css Bundle.properties MessageController.java PaginationHelper.java JsfUtil.java 12年6月4日月曜日
11.
UI (JSF)
• JavaEE6の標準UI技術はJSF2.0 • JavaScript書けなくてもリッチなUIが作成できる • いろいろな所で感じるStruts臭() Struts知ってれば使えるよ。 12年6月4日月曜日
12.
UI系の設定ファイル
必要になるまでいじらない。 12年6月4日月曜日
13.
web.xml •
言わずと知れたJavaで作ったWebアプリのコアファイル • セッションのタイムアウト時間とか設定できるよ! • 今回はデフォルトで設定 困ったときに修正してね。 12年6月4日月曜日
14.
faces-config.xml •
JSFの設定ファイル。struts-configみたいなもの • JSF1.Xでは超重要だったけど今は空気(にしたい) • 国際化対応時は使用する 画面数が増えてきても使う。 12年6月4日月曜日
15.
XHTMLファイル
Viewをデザインします。 12年6月4日月曜日
16.
XHTML •
JSFのViewはXHTMLで記載 • XHTMLなので色々と面倒くさい <BR> → <BR /> とか HTMLが雑すぎるとも言う。 12年6月4日月曜日
17.
XHTML(こんなのがあった) template.xhtml
Create.xhtml Edit.xhtml List.xhtml View.xhtml 中身を実際に見てみる。 12年6月4日月曜日
18.
その前に基礎知識 今のUI作成は全体のデザインと画面ごとに変更できる場
所を分けて定義するのが当たり前。 • template.xhtmlにデザインを記載 • それ以外に個々の機能を記載 昔はFrameを使ってました。 12年6月4日月曜日
19.
その前に基礎知識 複数の画面を作る場合メニューは同じ 場合が多いので使いまわしたい。 12年6月4日月曜日
20.
template.xhtml
デザイン定義してます。 12年6月4日月曜日
21.
template.xhtml
使用するタグを定義。 使用したいタグがあれば追加。 12年6月4日月曜日
22.
template.xhtml
h:XX、ui:XXみたいなのがJSFで記載さ れたところ。 実行時にはHTMLに変換される。 12年6月4日月曜日
23.
template.xhtml
ctrl+spaceで補完と説明が出てくる。 必要なら見てね。 12年6月4日月曜日
24.
template.xhtml ui:insertの中身だけ各画面で書く。
name属性は説明必要? 12年6月4日月曜日
25.
Create.xhtml
長いのでこの後は抜粋で。 12年6月4日月曜日
26.
Create.xhtml
ui:composition でテンプレート を指定。 ui:defineでui:insertの置換。 12年6月4日月曜日
27.
#{bundle.XXXX}の説明
Create.xhtml faces-config.xml Bundle.properties いわゆる国際化対応。 12年6月4日月曜日
28.
#{bundle.XXXX}以外の説明 •
value binding • method binding #から始まるやつです。 12年6月4日月曜日
29.
value binding
• 画面の値をJavaにマッピングする bundle.XXXもこれと一緒。 managed-bean(JavaBeans)やmapな どをマッピングできます。 12年6月4日月曜日
30.
method binding
• 画面の操作をJavaにマッピングする h:commandLinkは<a href=~>に変換され るので、リンクが押されるとセッショ ンに入っているMessageControllerクラス のcreateメソッドが呼ばれます。 12年6月4日月曜日
31.
commandLinkのaction •
拡張子を除いてURLを書いておけば他のページに遷移 immediate=”true”はサーバーサイドで値 を使わないという意味。 12年6月4日月曜日
32.
Create.xhtml以外 •
省略 Create.xhtmlの説明で十分でした。 12年6月4日月曜日
33.
jsfcrud.css •
cssを知らない人が居れば説明するので挙手して下さい 手を上げたやつ土下座な。 12年6月4日月曜日
34.
UI系のJavaファイル web.xml
beans.xml faces-config.xml persistence.xml template.xhtml Message.java Create.xhtml MessageFacade.java Edit.xhtml AbstractFacade.java List.xhtml View.xhtml ※他は省略 jsfcrud.css Bundle.properties MessageController.java PaginationHelper.java JsfUtil.java 12年6月4日月曜日
35.
MessageController.java •
画面から呼ばれるJavaのクラス いわゆるmanaged-bean。 12年6月4日月曜日
36.
MessageController.java アノテーションがついてます。 12年6月4日月曜日
37.
MessageController.java @ManagedBeanで画面から扱うクラスとして定義。name でXHTMLから使用する場合の名前をつける @SessionScopedでセッションに保存すると定義 method
bindingの時に間違った説明が あったので誰かがtweetで突っ込んで くれているはず。 12年6月4日月曜日
38.
MessageController.java メソッドが呼ばれた時に nullだと同じ画面、それ以
外の場合はURLとして画面 移動する faces-config.xmlで指定されてる場合は そちらの設定が優先されます。 12年6月4日月曜日
39.
PaginationHelper.java •
List.xhtmlで実装されているページャー用 ページャーを作りたかったら見て下 さい。ちなみにクラス名は間違えてな いです。 12年6月4日月曜日
40.
JsfUtils.java •
JSFでやり方のわかりにくいアレやらコレやら • これ自体よりも内部で呼ばれているクラスが重要 JSFで困ったらここから呼ばれている クラスで出来ないかを調べる。 12年6月4日月曜日
41.
JsfUtils.java •
FacesContext • ExternalContext • Converter エトセトラエトセトラ。全部説明した いがスライドの余白が足りない。 12年6月4日月曜日
42.
エラーメッセージの表示だけ
JsfUtils.java Create.xhtml strutsで見たことがあるような・・・ 12年6月4日月曜日
43.
次はDB系 web.xml
beans.xml faces-config.xml persistence.xml template.xhtml Message.java Create.xhtml MessageFacade.java Edit.xhtml AbstractFacade.java List.xhtml View.xhtml ※他は省略 jsfcrud.css Bundle.properties MessageController.java PaginationHelper.java JsfUtil.java 12年6月4日月曜日
44.
beans.xml •
CDI(今回未使用)のための設定ファイル • CDIが有効化される条件はこのファイルがあること • CDIの有効化方法が判りにくいので紹介だけ DB系として紹介しているけどDBとは 関係ないです。 12年6月4日月曜日
45.
DB系の設定ファイル
persistence.xml だけ。 12年6月4日月曜日
46.
persistence.xml •
DB接続用定義ファイル • NetBeansからGUIで設定できる GUIからの設定がオススメ。 12年6月4日月曜日
47.
persistence.xml 接続性ユニット名は適当に変えてね。 12年6月4日月曜日
48.
データソースについて
• GlassFishの管理コンソールで設定したものを使用する • 今回は最初から定義されているjdbc/__defaultを使用 詳細は優しい人がtweetしてくれます。 12年6月4日月曜日
49.
Message.java •
いわゆるエンティティと呼ばれるもの • RDBのテーブルと対応する • コレを元にテーブルが自動生成される エンティティにDBの値が保持されて います。 12年6月4日月曜日
50.
Message.java フィールドの値は何もつけなくてもDBに 保存されます。messageとか。 12年6月4日月曜日
51.
Message.java エンティティにするためには@Entityアノ テーションを付けてSerializableを
implementsするだけです。 エディタを使って新規作成すれば勝手に ついてくるよ。 12年6月4日月曜日
52.
Message.java DBにおける主キーの設定です。JPA(O/R マッパー)を使う場合は通常は人工キー
をつかいます。 思想的な話はHibernate in Actionを参照し て下さい。 12年6月4日月曜日
53.
Message.java GeneratedValueは自動採番の設定です が、採番の仕方によって保守時の難易度
が段違いなので使う時はよく考えて。 12年6月4日月曜日
54.
その他詳しい話は 今までの話、全部これ読めで済みます。 12年6月4日月曜日
55.
MessageFacade.java •
EJB EJBという言葉を聞くと動悸や息切れ、 めまい等の諸症状が現れる方はお気を つけ下さい。 12年6月4日月曜日
56.
MessageFacade.java •
EJB内ではデータベースのトランザクション管理をス レッドに紐付ける形で勝手にやってくれる • commitとかrollbackは不要 EJBというかJTAですけどね。 12年6月4日月曜日
57.
MessageFacade.java •
この中でデータベースへエンティティの値が同期され る • トランザクション管理が必要な処理はこの中で EJBの外でも同じ事は出来ますが、EJB の中でやったほうが便利です。 12年6月4日月曜日
58.
MessageFacade.java •
この中でデータベースへエンティティの値が同期され る • トランザクション管理が必要な処理はこの中で EJBの外でも同じ事は出来ますが、EJB の中でやったほうが便利です。 12年6月4日月曜日
59.
MessageFacade.java @StatelessアノテーションがEJBの印。 @Statefulアノテーションもあります
が、差は割愛。 12年6月4日月曜日
60.
MessageFacade.java @PersistenceContextのunitNameには persistence.xml
で指定した持続性Unit名 を入れます。 12年6月4日月曜日
61.
MessageFacade.java そうするとEntityManagerのインスタン スがGlassFishから渡されて、DBにアク
セスすることが出来るようになりま す。 DBのアクセスにはEntityManagerを使用 します。 12年6月4日月曜日
62.
MessageFacade.java 本体はAbstractFacadeなのでそちらをみ ます。 12年6月4日月曜日
63.
AbstractFacade.java まずはCRUDから。 12年6月4日月曜日
64.
AbstractFacade.java(CRUD) Create
getEntityManager().merge(entity)を呼び出 しても同じ結果になります。 12年6月4日月曜日
65.
AbstractFacade.java(CRUD) Read(一件)
id(Primary Key)を指定して1件取得して います。 複数件の場合は後ほど。 12年6月4日月曜日
66.
AbstractFacade.java(CRUD) Update
getEntityManager().persist(entity)を呼び出 すと失敗します。 12年6月4日月曜日
67.
AbstractFacade.java(CRUD) Delete
ちょっと変な感じがしますがお約束。 どうしてこうなるかはBeginning Java EE 6を読んで下さい! 12年6月4日月曜日
68.
AbstractFacade.java(CRUD) Read(複数件)
複数件取得する場合はCriteriaかJPQLを 使います。上の例はCriteria。 12年6月4日月曜日
69.
AbstractFacade.java(CRUD) Criteria
Criteriaはコンパイラによって静的 チェックが出来ますが複雑になると面 倒くさい・・・・・ 12年6月4日月曜日
70.
AbstractFacade.java(CRUD) JPQL(今回アプリでは未使用)
JPQLはSQLライクなクエリ言語で、コ ンパイラにによるチェックは出来ない けれども、簡単です。 12年6月4日月曜日
71.
AbstractFacade.java(CRUD) Criteria×JPQL
書き比べてみました。 12年6月4日月曜日
72.
MessageFacade.java 最後にEJBの呼び出し方について
MessageControllerクラスから呼び出される やっと最後。 12年6月4日月曜日
73.
MessageController.java @EJBアノテーションを付けてインスタ ンスを生成します。new
でインスタン スを生成しても正しく動作しません。 GlassFishがよろしくやってくれてます。 12年6月4日月曜日
74.
今回のアプリの処理の流れ
XHTML(画面) MessageController(managed-bean) Message(Entity)で値をやり取り MessageFacade(EJB) EntityManager(DB) おおざっぱにこんな順に呼ばれてま した。 12年6月4日月曜日
75.
その他詳しい話は ご清聴ありがとうございました。 12年6月4日月曜日
Télécharger maintenant