move from j2ee to java ee
DESCRIPTION
Many enterprise systems build at 2000 - 2010 uses J2EE old specifications with Struts web framework. But nowadays J2EE improved as Java EE, with standard web framework JSF 2. With this slides you can learn how to migrate old-styled J2EE + Struts systems to sophisticated Java EE with JSF 2 specification. This slides was used in Java Day Tokyo 2014 C4 window, presented by the author. And some slides is specialized for Japanese enterprise systems, but the theme is very standard and for almost all J2EE users in the world.TRANSCRIPT
![Page 1: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/1.jpg)
#jdt2014-C4
Move from J2EE to Java EE
May 22, 2014Hirofumi IwasakiFinancial Service Department, Development Unit, Rakuten, Inc.http://www.rakuten.co.jp/
![Page 2: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/2.jpg)
#jdt2014-C4
2
Speaker Biography
Hirofumi Iwasaki– Group Manager, Technology Manager– Financial Service Department, Development Unit,
Rakuten, Inc. Carrier
– Planning, designing & implements for many huge enterprise systems for financial, manufacturer, public systems with enterprise middleware, especially Java EE & .NET in Japan for about 16 years.
Opus, Lectures, etc.– Magazine: @IT (2005-2010), CIO Magazine (2009), IT Architect (2005-2009),
Web+DB Press (2005), Java World (2001-2004), etc.– Lectures: JJUG CCC Spring (2014), WebLogic roundtable (2012-2013), etc.– twitter: @HirofumiIwasaki (English)
![Page 3: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/3.jpg)
#jdt2014-C4
3
1999 -> 2014
![Page 4: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/4.jpg)
#jdt2014-C4
4
The History of Java EE
J2EE 1.2
(1999)
J2EE 1.3
(2001)
J2EE 1.4
(2003)
Java EE 5
(2006)
Java EE 6
(2009)
Java EE 7
(2013)
Born! PandemicEra
IntegrationEra
Mess Era(for EE spec)
Unite to SingleStandard Again!
![Page 5: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/5.jpg)
#jdt2014-C4
5
1999 -> 201415 YEARS
![Page 6: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/6.jpg)
#jdt2014-C4
6
15 YEARS
![Page 7: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/7.jpg)
#jdt2014-C4
7
15 YEARS
![Page 8: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/8.jpg)
#jdt2014-C4
8
15 YEARS
![Page 9: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/9.jpg)
#jdt2014-C4
9
15 YEARSJ2SE 1.2.2JDK 1.1.8
JDK 8JDK 7
![Page 10: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/10.jpg)
#jdt2014-C4
10
15 YEARSJ2EE 1.2 Java EE 7
Java EE 6
![Page 11: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/11.jpg)
#jdt2014-C4
11
15 YEARS
![Page 12: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/12.jpg)
#jdt2014-C4
12
Case Study of “J2EE” Era Systems in 2014
Developed in 2001 - 2006
Our systems is…
Based on J2EE 1.3 - 1.4
With many EOL open source libs
Working on EOL app server
Too old to move to latest Java EE
![Page 13: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/13.jpg)
#jdt2014-C4
13
Not Too Late!!Move On to Java EE!!
![Page 14: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/14.jpg)
#jdt2014-C4
14
Standard specifications for application servers (except for MS).
What's Java EE
Commercial
Open Source
etc.
Java EE Specification
To make assurance double sure
Liberty Profile etc.
+
![Page 15: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/15.jpg)
#jdt2014-C4
15
Differences Between the Ages in Real Systems
2014 (To-Be) 2006 2001
EE Specs Java EE 6, 7 J2EE 1.4 J2EE 1.2
SE Specs JDK 7, 8 J2SDK 1.4 J2SDK 1.3
Web JSF 2.0, 2.2(inc. Facelet)
Struts 1.3 / 2+ JSP 2.0+ JSTL 1.1
Struts 1.1+ JSP 1.1 + commons taglib
Rich Client JavaFX 8 SWT Swing (JFC)
Business Logic EJB 3.1, 3.2 Spring FW POJO Struts Action
EJB 1.1 POJO Struts Action
Data Access JPA 2.0, 2.1 Hibernate iBATIS
Original JDBC wrapper
Logging Apache Log4J SLF4J + Logback
Apache Log4J commons logging
Jakarta Log4J
Almost all can implement with standard specs,except for logging.
![Page 16: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/16.jpg)
#jdt2014-C4
16
Java EE Application Servers Versions
Vendor App Server EE 1.4(2003-)
EE 5(2006-)
EE 6(2009-)
EE 7(2013-)
Open Source GlassFish - 2.x 3.x 4.0
Oracle WebLogic 9.x 10.x 12.x -
IBM WebSphere 5.1 6.x, 7.x 8.x -
IBM Liberty Profile - - 8.5 -
Open Source Geronimo - 2.x 3.x -
Open Source TomEE+ - - 1.x -
Red Hat JBoss 4.x 5.1 7.1 -
Red Hat WildFly - - - 8.0
Fujitsu Interstage 9.0,9.1 9.2,10.x,11.0 11.1 -
Hitachi Cosminexus 7.x 8.x 9.x -
The de facto version is still EE 6
![Page 17: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/17.jpg)
#jdt2014-C4
17
Java SE Support Status of Java EE App Servers
Vendor App Server EE 6 (2009 -) EE 7 (2013-)
Ver. SE Ver. Ver. SE Ver.
Open Source GlassFish 3.x SE 7 4.0 SE 7
Oracle WebLogic 12.1.x SE 6, SE 7 - -
IBM WebSphere 8.x SE 6, SE 7 - -
Open Source Geronimo 3.x SE 6, SE 7 - -
Open Source TomEE+ 1.x SE 7 - -
Red Hat JBoss 7.x SE 6, SE 7 - -
Red Hat WildFly - - 8.0 SE 7, SE 8
Fujitsu Interstage 11.1 SE 6, SE 7 - -
Hitachi Cosminexus 9.x SE 7 - -
SE 8 is not readyfor almost all servers
*
* WebLogic 12.1.1 only
![Page 18: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/18.jpg)
#jdt2014-C4
18
Changes ofthe Components
![Page 19: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/19.jpg)
#jdt2014-C4
19
Rich Clients(with business logics)
Web Presentation(with business logics)
Business Logic(no presentations)
Typical Usage of J2EE 1.2 in 2001
Data Access
Original JDBC wrapper
EJBJakarta Struts
DBs
JTA
Automatic Transaction
MessagingJMS MQ
ConnectionRMI-IIOP
OtherServers
EMailMTAJavaMail
Call
Call
Call
Call
Call
CallSwing (JFC)
![Page 20: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/20.jpg)
#jdt2014-C4
20
Business Logic(no presentations)
Data Access
Web Presentation
Rich Clients
Typical Usage of J2EE 1.4 in 2006
Hibernate
SpringFramework
Apache Struts
DBs
JTA
Automatic Transaction
MessagingJMS MQ
ConnectionRMI-IIOP
OtherServers
EMailMTAJavaMail
JAX
Call
Call
Call
Call
Call
CallSWT
![Page 21: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/21.jpg)
#jdt2014-C4
21
Rich Clients
Web Presentation Business Logic(no presentations)
Typical Usage of Java EE 6 – 7 in 2014
Data AccessJPA
EJBJSF
DBs
Java FXJTA
Automatic Transaction
MessagingJMS MQ
ConnectionRMI-IIOP
OtherServers
EMailMTAJavaMail
JAX
Call
Call
Call
Call
Call
Call
![Page 22: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/22.jpg)
#jdt2014-C4
22
Changes ofthe Development
Environments
![Page 23: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/23.jpg)
#jdt2014-C4
23
Changes of the OS in Enterprise System Devs
J2EE 1.2in 2001
J2EE 1.4in 2006
Java EE 7in 2014
![Page 24: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/24.jpg)
#jdt2014-C4
24
J2EE 1.2in 2001
J2EE 1.4in 2006
Java EE 7in 2014
Changes of the IDEs in Enterprise System Devs
Use NetBeans 8 or IntelliJ 13.1 for EE 7 + SE 8
![Page 25: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/25.jpg)
#jdt2014-C4
25
Heavy Changes ofthe Environmentsfrom 2001 to 2014
![Page 26: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/26.jpg)
#jdt2014-C4
26
Question:Do you stay in stillJ2EE 1.4 in 2006In your systems?
![Page 27: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/27.jpg)
#jdt2014-C4
27
Expected Answer:
No (of course not!)
![Page 28: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/28.jpg)
#jdt2014-C4
28
Yes? Really?Catch up to 2014 ASAP,
or die.
![Page 29: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/29.jpg)
#jdt2014-C4
29
Zero-Day VulnerabilitiesIn EOL Struts 1.3.10
* From http://www.lac.co.jp/security/alert/2014/04/24_alert_01.html
![Page 30: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/30.jpg)
#jdt2014-C4
30
![Page 31: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/31.jpg)
#jdt2014-C4
31
EOL
![Page 32: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/32.jpg)
#jdt2014-C4
32
By the Way,Move Forwardto 2014 Styles
TODAY!
![Page 33: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/33.jpg)
#jdt2014-C4
33
Basic Case Study:Struts 1.x JSF 2.2
![Page 34: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/34.jpg)
#jdt2014-C4
34
Rich Clients(with business logics)
Web Presentation(with business logics)
Business Logic(no presentations)
Target Tier (in 2001)
Data AccessOriginal JDBCwrapper
EJBJakarta Struts
DBs
Swing (JFC)JTA
Automatic Transaction
MessagingJMS MQ
ConnectionRMI-IIOP
OtherServers
EMailMTAJavaMail
Call
Call
Call
Call
Call
Call
![Page 35: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/35.jpg)
#jdt2014-C4
35
Rich Clients
Web Presentation Business Logic(no presentations)
Target Tier (in 2014)
Data AccessJPA
EJBJSF
DBs
Java FXJTA
Automatic Transaction
MessagingJMS MQ
ConnectionRMI-IIOP
OtherServers
EMailMTAJavaMail
JAX
Call
Call
Call
Call
Call
Call
![Page 36: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/36.jpg)
#jdt2014-C4
36
The JavaServer Faces (JSF) 2 is
Standard web framework of the Java EE 7 and 6 Re-Born as JSF 2 in Java EE 6
– Please forget the useless JSF 1.x (Java EE 5) if you know.
JSF 2.0 changes (in EE 6):– Added @ViewScoped backing bean lifecycle.– Introduced new HTML page renderer ‘Facelet’.
JSF 2.2 changes (in EE 7):– Updated with renewed HTML friendly tags.– Changed the backing bean from JSF managed beans to CDI.– Introduced auto XSRF avoiding functions
![Page 37: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/37.jpg)
#jdt2014-C4
37
JSF 2.2! Welcome!!
Finally we can make enterprise web applications only with Java EE standard specifications, JSF.– Good-bye, JSP!!– So long, Struts!!– Take care, Commons!!
* Recommended 2.2 or later
![Page 38: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/38.jpg)
#jdt2014-C4
38
<Facelet>Index.xhtml
IndexBean- userName+ load()+ action()
Front View & Backing Bean
Page loading
Show the property’s valueof backing bean
![Page 39: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/39.jpg)
#jdt2014-C4
39
<Facelet>Index.xhtml
IndexBean- userName+ load()+ action()
Submit(post back)
Front View & Backing Bean
![Page 40: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/40.jpg)
#jdt2014-C4
40
Page Transition<Facelet>
index.xhtml
IndexBean- id+ load()+ submitClick()
<Facelet>next.xhtml
NextBean- id+ load()
(1) Pageredirection
(2) Pass datavia ‘flash’
![Page 41: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/41.jpg)
#jdt2014-C4
41
Page Transition<Facelet>
index.xhtml
IndexBean- id+ load()+ submitClick()
<Facelet>next.xhtml
NextBean- id+ load()
Transit tonext page
![Page 42: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/42.jpg)
#jdt2014-C4
42
So Easy to Make!
Try it TODAY!
![Page 43: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/43.jpg)
#jdt2014-C4
43
Make newproject
Select “Maven > Web Applications”
Select “Properties”after project creation
![Page 44: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/44.jpg)
#jdt2014-C4
44
Add the “JavaServer Faces”and select up the JSF 2.2
Change pattern from “/faces/*.xhtml” to “*.xhtml”for simple & easy operations
![Page 45: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/45.jpg)
#jdt2014-C4
45
Open the “pom.xml”
Modify “javaee-web-api” (web profile)to “javaee-api” (full profile)
![Page 46: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/46.jpg)
#jdt2014-C4
46
Deleteold JSP
Add CDI backing beanfrom here
Make backingbean for Facelet
![Page 47: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/47.jpg)
#jdt2014-C4
47
Add backing bean annotationsand implement Serializable interface
Add getters andsetters
Add @PostConstructmethod for pageload operations
![Page 48: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/48.jpg)
#jdt2014-C4
48
Set the placeholderfor backing bean property
Input Facelet using code completion of NetBeans
Set the action methodfor submit button
![Page 49: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/49.jpg)
#jdt2014-C4
49
Press the button,run the backing bean
Just push the run button,compile, archiving anddeploying to Java EE server automatically
![Page 50: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/50.jpg)
#jdt2014-C4
50
Advanced Topics:Differences BetweenStruts 1.x and JSF 2.2
![Page 51: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/51.jpg)
#jdt2014-C4
51
<<JSP>>View1
<<JSP>>View 2
Action1
+ action()<<JSP>>
View 3
Action2
+ action()
ActionForm1- fields+ validate()
ActionForm2- fields+ validate()
OperateAction
Build Next View
OperateAction
BuildNext View
Per Action Operation
struts-config.xml
![Page 52: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/52.jpg)
#jdt2014-C4
52
<Facelet>View 1
Backing1- fields+ load()+ action()
<Facelet>View 2
Backing2- fields+ load()+ action()
<Facelet>View 3
Backing3- fields+ load()+ action()
Front View&
Backing BeanPer View Operation
![Page 53: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/53.jpg)
#jdt2014-C4
53
Paradigm Changing:Action to Page
![Page 54: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/54.jpg)
#jdt2014-C4
54
How to Migrate?
![Page 55: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/55.jpg)
#jdt2014-C4
55
Paradigm Changing - Simple
<<JSP>>View1
<<JSP>>View 2
Action1
+ action()
<<JSP>>View 3
Action2
+ action()
ActionForm1- fields+ validate()
ActionForm2- fields+ validate()
OperateAction
Build Next View
OperateAction
BuildNext View
<Facelet>View 1 Backing1
- fields+ load()+ action()
<Facelet>View 2
Backing2- fields+ load()+ action()
<Facelet>View 3 Backing3
- fields+ load()+ action()
Front View& Backing Bean
![Page 56: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/56.jpg)
#jdt2014-C4
56
One Action Class
Paradigm Changing - Simple
Event Operation
Next PageInitialization
Backing Bean Action Method
Event Operation
Backing Bean @PostConstruct Method
Page Initialization
Sprit to Two Parts
![Page 57: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/57.jpg)
#jdt2014-C4
57
Paradigm Changing – Complicated
<JSP>[Button1][Button2]
Button1Action
+ action()
OperateAction
Build Next View
<Facelet>[Button1][Button2]
Backing1- fields+ load()+ button1()+ button2()
<Facelet>View 2-1
<Facelet>View 2-2
<JSP>View 2-1
<JSP>View 2-2
Button1Action
+ action()
![Page 58: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/58.jpg)
#jdt2014-C4
58
Re-Architecture: JSP to Facelet
Sections Struts 1.1 JSF 2.2
HTML5 Don’t know Ready
Form tag <html:form action=“/actionName”>
<form jsf:id=“form>
Text output <bean:write name=“bean.prop”/>
#{bean.prop}
Hidden <html:hidden property=“prop”/>
<input type=“hidden” jsf:value=“#{bean.prop}”/>
Text Field <html:text property=“prop”/>
<input type=“text” jsf:value=“#{bean.prop}”/>
PasswordField
<html:password property=“prop”/>
<input type=“password” jsf:value=“#{bean.prop}”/>
Check Box <html:multibox property=“prop”/>
<input type=“checkbox”
Submit <html:submit /> <input type=“submit” jsf:action=“#{bean.action()}”/>
![Page 59: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/59.jpg)
#jdt2014-C4
59
Re-Architecture: Common Processing
ActionServlet
+ process()
SpecialServlet
+ process()
Filter
+ process()
SpecialFilter
+ process()
PhaseListener
+ process()
SpecialPhLsnr
+ process()
Filter
+ process()
SpecialFilter
+ process()
faces-config.xml
web.xml
No change
OverridePhase Listener,NOT Faces Servlet
![Page 60: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/60.jpg)
#jdt2014-C4
60
Slightly Complicated,but Simple
Just try it!
![Page 61: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/61.jpg)
#jdt2014-C4
61
Appendix: Additional Resources
For newbies
Awesomefor startups
Nice essentialreferences
![Page 62: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/62.jpg)
#jdt2014-C4
62
Appendix: Additional Resources
http://www.slideshare.net/iwasakihirofumi/java-ee-7-jsf-22
How to useJSF 2.2 correctly
![Page 63: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/63.jpg)
#jdt2014-C4
63
Appendix: Additional Resources
http://www.slideshare.net/iwasakihirofumi/future-of-java-ee-with-java-se-8
EE 7 with SE 8
![Page 64: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/64.jpg)
#jdt2014-C4
64
Conclusion
J2EE era is so old to migrate, but with many challenges you can do it.
Differences between Struts 1.x and JSF 2.2 are huge, the paradigm changes
Try it with NetBeans 8 and GlassFish 4 today! It’s FREE!
Go Ahead, Ride the Wave!
Make our enterprise future with Java EE!
![Page 65: Move from J2EE to Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051323/54b4ed914a79598f728b45e6/html5/thumbnails/65.jpg)
#jdt2014-C4
65
Q&A