JavaTM EE
(J2EE)
Programming (with Passion!)
Message to potential
attendees
The 15th session started on
Feb. 1st, 2009. Just
like
other online courses I
teach, this course is offered online only. For those of
you who are not sure what it's like to take this course online, please
see What
it's like to take Sang Shin's online courses. Just to set the
expectation correctly, there is no real-time webcasting.
How to register for
this course
In order to register for this course, all you have to do is sending
a blank email to the following email alias.
Basically, when you send a blank email to the above, you are
subscribing our
class
forum. This forum can be used for posting
questions/answers. Please use this forum for all class related
communication (technical or non-technical). If you have any
further questions on this course, please see the course FAQ below
Become a Sun Developer Network (SDN) member and connect with over 3
million worldwide developers looking to further development on Java,
Solaris, and emerging technologies. As a SDN member you'll enjoy an ALL
ACCESS pass to participate in the community, get the latest information
of Sun tools/technologies, and special offers from Sun and Sun
Partners. Learn More by paying a visit to SDN site below
Topics
and Schedule
Note
that only the topics
with the
dates assigned will be covered in this
course. (You need to submit homeworks only on the topics that have
dates.) It is my plan to provide presentation slides and hands-on
labs for the topics that do not have dates whenever I find time.
1. Introduction,
2. Web Core Technologies: Servlets and JSP,
3. JDBC/SQL/Ant/JUnit/Version Control,
4. Web-tier Security,
5. Struts,
6. Struts 2,
7. JavaServer Faces (JSF),
8. Other Web-tier Frameworks,
9.
EJB 2.x,
10. Java EE 5/EJB
3.0/JPA,
11. Design Patterns and Best
Practices,
12.
Hibernate,
13. Spring
framework,
14. Portal and
Portlet,
15. GlassFish
- Introduction
- Web
Core
Technologies: Servlet and JSP
- JDBC, SQL,
- SQL (1 hour lecture + 1 hour lab)
- (March 12th, 2009: Week #6) -
there
is no homework
- JDBC (1 hour lecture + 1 hour lab) - (March 12th, 2009: Week #6) (homework #9)
- Web-tier Security
- Struts
- Struts
2
- Struts 2 Basics (2 hour lecture
+ 1 hour lab) -
(April 25th, 2009: Week #10) (homework
#13)
- Struts 2 and Ajax ()
- Struts 2 and Tiles
- Struts 2 and view technologies
- JavaServer Faces
(JSF)
- 3rd-party JSF components
- Woodstocok JSF components
- IceFaces
- JSF and Portal/Portlets
- Testing and Debugging tools
- Other
Web-tier Frameworks
- EJB 2.x
- Java
EE 5, EJB 3.0,
Java
Persistence API
(JPA)
- Design
patterns,
Best practices,
Performance tuning, etc
- Hibernate
- Spring
framework
- Spring framework and
persistence
- Spring framework Web-tier
technologies
- Portlets
and Portal
- GlassFish

The last day of current session is June 27th 2009 as it currently
stands. The deadline for the homework submission
is July 14th. After you submit all homework's, please send an
email by July 16th to the
homework
alias (j2eehomeworks@sun.com) with the your personal information
below in
order to get a certificate and listed in the
Graduates
of this course . The subject of the email should
be
J2EECourse-2009-Spring.
(This is important.)
- <First-name Last-name>, <Nationality or Country of
Origin>, <One paragraph you want to say about this course
(optional)>
- Sang Shin, Korea, This is a great course ...
Introduction of this
course
1. Presentation slides (0.5 hour)
Java EE Overview
The objective of this session is to give
you a big picture of Java EE architecture and platform and get yourself
prepared for the rest of the course. You don't have to understand
everything that is described in the presentation below. If you
get reasonably good idea on what Java EE is, that should be good enough
to proceed. Please browse through the Resources below.
There is no homework in the week #1.
1. Presentation slides (1 hour)
return to topics
Web Core Technologies:
Servlets,
JSP, and JSTL
Web Application
Structure
In this session, you will learn how a
typical Web application is built. You will also learn the
internal structure of Web application as well as web.xml file.
1. Presentation slides (1 hour)
2. Lab (1 hour) and homework - The hands-on lab is updated with
NetBeans 6.1.
- 4001_webappstructure.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/webappstructure/index.html to proceed)
- Online
lab document (This is the same document you will find in the
hands-on lab zip file)
- Homework
(This is the same homework you will find in the
hands-on lab zip file)
- Change
log
return to topics
Servlet Basics
You are getting into a very
important
topic, Servlet. I expect
many of you who get exposed to the
Servlet for the first
time might feel overwhelmed by the
amount of things you feel you have to absorb. Given that
the Servlet technology is the most-used functionality of J2EE platform,
there are in fact lots of things to learn.
1. Presentation slides (2 hours)
2. Lab and homework (1 hour)
3. Resources
return
to topics
JSP Basics
I assume by now, most
of you are relatively
comfortable with
building and deploying Servlet based Web applications. In this session, you will
learn
basic
concept of JSP (JavaServer Pages) which is as equally important
Web-tier technology as Servlet. You will also learn how to build
a
simple JSP pages using JavaBeans.
1. Presentation slides (2 hours)
2. Lab and homework (2 hours)
3. Resources
return
to topics
Using NetBeans for
Developing Web Applications
In this session, you are going to do a
lab during which you exercise various features of NetBeans IDE.
Servlet Advanced
By now, you have reasonably good idea
on how you can use basic features of Servlets and JSP to build Web
applications. In this session, you are going to learn advanced
features of Sevlets, mainly filters and life-cycle events.
1. Presentation slides - ServletAdvanced
(1 hour)
2. Presentation slides - Servlet 2.4
Enhancements
3. Lab and homework (1 hour)
return
to topics
Session Tracking
Session tracking is a mechanism that
servlets use to maintain state about a series of requests from the same
user (that is, requests originating from the same browser) across some
period of time.
1. Presentation slides (1 hour)
2. Lab and homework (1 hour)
3. Resources
return
to topics
Expression Language
A primary feature of JSP technology
version 2.0 is its support for an expression language (EL). An
expression language makes it possible to easily access application data
stored in JavaBeans components. For example, the JSP expression
language allows a page author to access a bean using simple syntax such
as ${name} for a simple variable or ${name.foo.bar} for a nested
property.
1. Presentation slides
2. Lab and homework (0.5 hour)
return
to topics
JSP 1.2 Custom Tags - We are not
covering this topic in this course
Since the introduction of JSP 2.0 style
tag files, the JSP 1.2 style development of custom tags should be
avoided whenever possible meaning if you can develop your custom tags
using tag files, you should use tag files. Because of that
reason, we are skipping this topic in this course.
1. Presentation slides (2 hours)
JSP 2.0 Custom Tags
In this session, you are going learn
how to build and use simple tag handler and tag file features of JSP
2.0.
1. Presentation slides (1 hour)
2. Lab and homework(1 hour)
3. Resources
return
to topics
JSTL
The JavaServer Pages Standard Tag
Library (JSTL) encapsulates core functionality common to many JSP
applications. Instead of mixing tags from numerous vendors in your JSP
applications, JSTL allows you to employ a single, standard set of tags.
This standardization allows you to deploy your applications on any JSP
container supporting JSTL and makes it more likely that the
implementation of the tags is optimized.
1. Presentation slides (2 hours)
2. Labs (2 hours)
3. Resources
return
to topics
Building
BookStore Sample Application
In this
session, you will build the "Duke's Bookstore" sample application,
which is reasonably sophisticated application using different Web-tier
technologies, first by using Servlets only, second by using JSP pages
only, third by using JSP pages and custom tags, fourth by using JSP
pages and JSTL in native format, fifth by using JSPpages and JSTL in
XML format
Applets
1. Presentation slides (2 hours)
- PDF: 1 slide
per page
- StarOffice file
2. Labs (2 hours)
- 4015_jstlexamples.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jstlexamples/index.html to proceed) - work in
progress
- Online
lab document (This is the same document you will find in
the hands-on lab zip file
- Homework
- Change
log
3. Resources
return
to topics
SQL
SQL is a standard computer language for
accessing and manipulating relational databases. Even though Java
persistence technologies such as EJB 3.0 Java Persistence API (JPA) or
Hibernate could insulate developers from having to know the detailes of
SQL, it is still important to know the intricacies of SQL in order to
be able to write highly performant Java EE applications which involves
persisting data to the relational database.
1. Presentation slides (1 hour)
2. Lab (1 hour)
Since the SQL tutorial from w3cschools.com seems to be the best
tutorial, I have decided to use the material as the hands-on lab for
the topic of SQL. There is no homework on this topic.
3. Resources
4. Configuration paramater values for databases
- Java DB (Derby)
- jdbc:derby://localhost:1527/mydatabase (URL)
- org.apache.derby.jdbc.ClientDriver (Driver class)
- app (Username)
- app (Password)
- MySQL
- jdbc:mysql://localhost:3306/test (URL)
- com.mysql.jdbc.Driver (Driver class)
- MySQL Connector/J (Driver name)
- no username
- no password
- org.hibernate.dialect.MySQLDialect
- HSQL
- jdbc:hsqldb:file:messagedb
- org.hsqldb.jdbcDriver
- sa
- no password
- org.hibernate.dialect.HSQLDialect
return
to topics
JDBC
JDBC is standard Java API for accessing
amdn manipulating relational database through SQL. Even though
Java persistence technologies such as EJB 3.0 Java
Persistence API (JPA) or Hibernate could provide higher layer
abstraction than JDBC, JDBC is still one of the most popular Java APIs
for persisting data to the relational database.
1. Presentation slides (1 hour)
2. Lab (1 hour)
return
to topics
Security Basics
Security is one of the most important
areas of distributed computing.
1. Presentation slides (1 hour)
return
to topics
Web Application Security
1. Presentation slides (1 hour)
2. Lab (1 hour)
return
to topics
SSL
1. Presentation slides (1 hour)
return
to topics
Web Application
Security Threats and Counter-Measures
1. Presentation slides (1 hour)
2. Labs (1 hour)
- 4010_websecthreats.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/websecthreats/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
MVC
(Model-View-Controller) Framework
1. Presentation slides (1 hour)
return
to topics
Struts Basics
In its short existence, Struts has
established itself as a popular web
application framework that is based on MVC (Model-View-Controller)
architecture. Even though new generation of Web application
frameworks such as JavaServer Faces (JSF) and Tapestry are providing
more advanced features, Struts is still being used widely in the field.
1. Presentation slides (1 hour)
2. Lab (2 hours)
3. Resources
- Tutorials
- Struts related web sites
return
to topics
Step by Step
Guide for Building a Simple Struts Application
1. Presentation slides (1 hour)
return
to topics
Struts Sample Applications
1. Lab (2 hours) - the contents
will be updated in the future
- 4207_strutsexamples.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/strutsexamples/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Struts Tags
1. Presentation slides (1 hour)
2. Labs (2 hours) - the contents
will be updated in the future
- 4209_strutstags.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/strutsttags/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Struts Advanced
1. Presentation slides (1 hour)
2. Labs (2 hours) - they are not ready
yet!
- 4209_strutsadv.zip (Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/strutsadv/index.html to proceed)
- Online lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Struts Validation
Framework
1. Presentation slides (1 hour)
2. Lab (1 hour) - the contents will be
updated in the future
- 4210_strutsvalidator.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/strutsvalidation/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Tiles Framework
1. Presentation slides (1 hour)
2. Lab (1 hour) - the contents
will be updated in the future
3. Resources
return
to topics
Struts Testing,
Debugging, Logging, and Performance
1. Presentation slides (1 hour)
2. Lab (1 hour)
- 4220_strutstestcase.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/strutstestcase/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
Struts Best Practices
1. Presentation slides (1 hour)
return
to topics
Struts and Databases
1. Presentation slides (1 hour)
2. Lab (1 hour)
- 4222_strutsdatabase.zip (Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/strutsdatabase/index.html to proceed)
- Online lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
Struts Security
1. Presentation slides (1 hour)
return
to topics
Building "Hello
World" JSF applications
This is to build and run a simplest
possible JSF application step by step and make sure the software is
working correctly.
1. Lab (1 hour)
- 4101_jsfhelloworld.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfhelloworld/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Step by step
for building "Guess a Number" JSF application
You are going to build a
simple "Hello World" sample JavaServer Faces (JSF) application
exercising the basic features of a typical MVC-based Web application
framework of JSF architecture such as request dispatching, navigation,
event handling, and so on. These features will be more clearly
explanined in the following presentation - JSF Basics - but the goal is
to build an application first and see how it works.
1. Presentation slides
JSF basics
The basic concepts of JSF architecture
and features will be discussed.
1. Presentation slides (1.5 hour)
JSF Component Model
1. Presentation slides (1.5 hour)
2. Lab (1 hour)
In JSF framework, a component tree gets constructed whenever a page
(that contains JSF UI components are used) is accessed. Since
this
component tree is a fundamental piece of JSF architecture, it is
important to understand the concept of it. This lab lets you
access
and display this component tree.
3. Resources
JSF tags
One popular markup language that your
application will support is obviously HTML. In this session, you
will learn various JSF-based tags for the HTML browser client.
1. Presentation slides (1 hour)
Managed Beans
1. Presentation slides (1 hour)
2. Lab 1 - Do the exercise 3 (1 hour)
- 4104_jsfguessnumber.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfguessnumber/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
Navigation
1. Presentation slides (1 hour)
2. Lab 1 - Do the exercise 4 (1 hour)
- 4104_jsfguessnumber.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfguessnumber/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Lab 2
- 4129_jsfnavigation.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfnavigation/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
4. Resources
return
to topics
Event model
1. Presentation slides (1.5 hour) -
todo: add differences between action and actionListerner in JSF 1.2
Life-cycle and PhaseListener
1. Presentation slides (1.5 hour)
2. Lab
Immediate Attribute
1. Presentation slides (0.5 hour)
2. Lab
Styling with CSS
1. Presentation slides (1.5 hour)
2. Lab
JSF 2.0
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StarOffice
file
2. Lab
- 4132_jsfcss.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfcss/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
Log
Validation
1. Presentation slides (1.5 hour) - todo:
make sure all validation strategies are covered
2. Lab 1 - Do the exercise 5! (20 minutes)
3. Lab 2
3. Resources
return
to topics
Client-side Vadliation
1. Presentation slides (1.5 hour)
Converter
1. Presentation slides (1.5 hour) - todo:
list all built-in converters
Data Table
1. Presentation slides (1.5 hour)
JSF and Persistence (JPA)
1. Presentation slides (1.5 hour)
2. Lab
- 4133_jsfjpa.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfjpa/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
Walk-through of
CarStore Sample Application
1. Presentation slides (1.5 hour)
Walk-through of
BookStore6 Sample Application
Java EE 5 tutorial comes with sample JSF application
called bookstore6 in the form of NetBeans project.
1. Lab
- 4119_jsfbookstore.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfbookstore/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Building Some
JSF Sample
Applications
Tiles
1. Presentation slides (1.5 hour) - todo:
How tiles are integrated with JSF
2. Lab
- 4124_jsftiles.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsftiles/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
NetBeans Visual Web
Pack Basics
1. Presentation slides (1.5 hour)
NetBeans Visual Web
Pack Advanced
Building a JSF Component
1. Presentation slides (1.5 hour)
2. Presentation slides - this is
JavaOne 2007 presentation by Kito Man
3. Lab 1
- 4113_jsfcomponentbuild.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfcomponentbuild/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
4. Lab 2
- 4430_jsfcustom.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfcustom/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
RenderKit
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StarOffice
file
2. Lab
- 4109_jsfrenderkit.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/jsfrenderkit/index.html to proceed) Note: You
should do this lab whil
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Shale Dialog
1. Presentation slides (1.5 hour)
2. Lab
- 4131_jsfshale.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/jsfshale/index.html to proceed) Note: You
should do this lab whil
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Facelets
1. Presentation slides
(originally by Çagatay Çivici, modified slightly by Sang Shin)
2. Lab 1 (1.5 hour)
- 4106_jsffacelets.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/jsffacelets/index.html to proceed) Note: You
should do this lab whil
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Lab 2 (1 hour)
- 4107_jsffaceletscdstore.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/jsffaceletscdstore/index.html to proceed) Note:
You
should do this lab whil
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
4. Lab 4 (1 hour) - Optional
5. Resources
- Facelets websites
- Facelets tutotials and articles
- NetBeans support on Facelets articles and tutorials
return
to topics
Spring Web Flow and JSF
1. Presentation slides (1 hour)
2. Presentation slides (1.5 hour) - This
is JavaOne 2007 presentation
3. Lab
4. Resources
- Web sites
- Tutorials and articles
return
to topics
Spring framework and JSF
integration
1. Presentation slides (1.5 hour) - This
is JavaOne 2007 presentation by Kito Mann and Chris Richardson
Seam
1. Presentation slides (1.5 hour) - This
is JavaOne 2007 presentation by xxx
- PDF:
1 slide per page
- Video
2. Lab
3. Resources
- Tutorials
- Articles and blogs
- Presentations
- Websites
return
to topics
JSFTemplating
1. Presentation slides (1.5 hour) - This
is JavaOne 2007 presentation by xxx
Building Useful
Components
(from Core JSF book)
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- Star Office
2. Lab 1
- 4115_jsfcomponentbuild2.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfcomponentbuild2/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Lab 2
- core-popup
- core-resolver
- core-error
- core-applet
Tomahawk JSF
Components (from MyFaces Apache project)
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- Video
2. Lab
- 4116_jsftomahawk.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsftomahawk/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
ADF components
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- Video
2. Lab
- 4117_jsfadf.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfadf/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Misc. 3rd party JSF
components
1. Presentation slides (1.5 hour)
Woodstock components
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StarOffice
2. Lab
- 4118_jsfwoodstock.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfwoodstock/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Building Woodstock
components
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StarOffice
2. Lab
- 4118_jsfwoodstock.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfwoodstock/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Woodstock components
and Ajax
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StarOffice
2. Lab
- 4118_jsfwoodstock.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfwoodstock/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Building Ajax
applications using JSF
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StarOffice
2. Lab
- 4121_jsfajax.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfajax/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
DynaFaces
1. Presentation slide - Introduction to
DynaFaces
2. Presentation slide - Using DynaFaces
Ajax4jsf
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StartOffice
2. Lab
- 4122_jsfajax4jsf.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfajax4jsf/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Ice Faces
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StartOffice
2. Lab
- 4122_jsfajax4jsf.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfajax4jsf/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
JSF and Portlets
1. Presentation slides (1.5 hour)
- PDF:
1 slide per page
- StartOffice
2. Lab
- 4122_jsfajax4jsf.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/jsfajax4jsf/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
Testing tools
1. Presentation slides (1.5 hour)
Localization
1. Presentation slides (1.5 hour)
EJB 2.x (as part of J2EE 1.4)
EJB 2.x Overview
1. Presentation slides (1 hour)
2. Lab and homework (2 hours) - work in
progress
- 4281_j2eeejb2.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/ajaxshale/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
Message Driven Bean (MDB)
- Pre-class reading
- Presentation
- PDF:
1 slide per page
- Detailed notes
- StarOffice
file
return
to topics
JMS
1. Pre-class reading
2 Presentation slides (1 hour)
3. Lab and homework (2 hours)
- 4281_j2eejms.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/ajaxshale/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
4. Resources
return
to topics
Session Bean (EJB 2.x)
1. Presentation slides (1 hour)
return
to topics
Entity Beans (EJB 2.x)
1. Presentation slides (1 hour)
return
to topics
Java
EE 5 & EJB 3.0 & JPA
Introduction to Java EE 5
Java EE 5 is a major major release in
the evolution of Java EE with lots of new features. It has a huge
emphasis on the ease of development. The ease of development
features include using annotations instead of deployment descriptors,
simplified EJB development, use of dependency injection for accessing
resources, Java Persistence API (JPA), and annotation based Web service
development. The goal of this presentation and hands-on lab is to
give you overall sense of the Java EE features.
1. Presentation slides - Java EE 5
Overview (1 hour)
2. Presentation slides - Java EE 5 support in NetBeans 5.5
EJB 3.0 Enterprise Beans
The new EJB 3.0 API makes software
development easier by reducing and simplifying the amount of work
required from the developer. In other words, fewer classes and less
code. This is possible because more of the work is now performed by the
container.
1. Presentation slides (1 hour)
Java
Persistence API
(JPA) Basics
The Java EE 5 platform introduces the
new Java Persistence API, which was developed as part of JSR-220. The
Java Persistence API can also be used outside of EJB components, for
example, in web applications and application clients, and also outside
the Java EE platform, in Java SE applications.
1. Presentation slides 1 (1 hour)
2. Presentation slides 4
This is
JavaOne
2006 presentation by Michael Keith and Linda DeMichiel, Peter
Walker, and Ron Ten-Hove. You have to
register to Sun Developer
Network in order to watche the video.
3. Lab and homework
4. Resources
- Websites
- Tutorials and articles
- GlassFish
- Hibernate and JPA
return
to topics
Java
Persistence API
(JPA) Mapping
1. Presentation slides
2. Lab (1 hour)
3. Resources
return
to topics
JPA
Query Language
1. Presentation slides
2. Lab (1 hour)
- 3412_javaee5jpajpql.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/javaee5jpajpql/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
return
to topics
JPA Advanced
1. Presentation slides
2. Lab (1 hour)
- 3412_javaee5jpajpql.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/javaee5jpajpql/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
Java
Persistence
API (JPA) Transaction
4. Lab (1 hour)
return
to topics
Design Patterns, Best
Practices, and Performance Tuning
Java EE Design Patterns
1. Presentation slides (1 hour)
return
to topics
Performance Tuning
1. Presentation slides (1 hour): Servlet
Performance
2. Lab (1 hour) using NetBeans
Enterprise Pack
- 5115_netbeansprofiler.zip
(Unzip it in a directory of your choice
and read lab document from
<unzip-directory>/javaswing/index.html to proceed)
- Online
lab document (This is the same document you will find in the
hands-on lab zip file)
return
to topics
Other
Web-tier Frameworks
Shale
1. Presentation slides (1 hour)
2. Lab and homework (2 hours) - work in
progress
- 4261_webshale.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/webshale/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resources
return
to topics
Echo2
1. Presentation slides
- PDF:
1 slide per page
- StarOffice
file
2. Lab 2 (2 hours) -
work in
progress
- 4282_ajaxecho2.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/ajaxecho2/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
3. Resouces
return
to topics
Tapestry
1. Presentation slides
- PDF:
1 slide per page
- StarOffice file
return
to topics
Wicket
1. Presentation slides
- PDF:
1 slide per page
- StarOffice file
2. Resources
return
to topics
Comparing
various Java Web Application frameworks
1. Presentation slides
return
to topics
Hibernate Step By Step
This session takes you through the
basics of building a simple
HelloWorld Hibernate application. Even though you are building
the simplest
possible Hibernate application, you will get an exposure to the
relatively complete concept
of Hibernate. You will also learn how to
display context sensitive Java document on Hibernate classes.
- Presentation
- Lab and homework
- Resources
return
to topics
Hibernate Basics
In this session, you are going to learn
the basic concepts of Hibernate including transaction demarcation,
using DAO pattern, generating keys using different schemes, event
handling, and session management.
- Presentation
- Lab and homework
- Resources
return
to topics
Hibernate Mapping
In this session, you are going to learn
various mapping strategies including cadinalities (one to many
relationship, many to many relationship), and how class hierarchy is
represented in the database tables through inheritance strategies.
- Presentation
- Lab
- Resources
return
to topics
Hibernate
Support in NetBeans IDE 6.5
- Presentation
- Lab
- 3516_hibernatemapping.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/hibernatemapping/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
- Resources
return
to topics
Hibernate Query Language
In this session, you are going to learn
how to perform query operations using Criteria Query API, Query By
Example, HQL, and native SQL.
- Presentation 1 (Criteria API)
- Presentation 1 (HQL)
- Lab
- Resources
return
to topics
Hibernate
Transaction and Concurrency
- Presentation 1
- Lab
- Resources
return
to topics
Hibernate
Interceptors & Events - Work in progress
- Presentation 1
- PDF:
1 slide per page
- StarOffice
file
- Lab
- Resources
return
to topics
Hibernate Join Fetch
(N+1 Select Problem, Join Fetch, Lazy Fetch)
The fetch mode you choose in using
Hibernate will have performance consequences especially if you fall
into a trap of N+1 selet problem. In this session, you will learn the
basic concepts of the fetch modes and also N+1 select problem and how
to avoice it.
- Presentation
- Lab
- Resources
return
to topics
Hibernate Caching
In this session, some of the advanced
topics of Hibernate such as caching strategies will be talked about.
- Presentation 1
- Lab
- Resources
return
to topics
Hibernate Annotation - work in
progress
- Presentation 1
- PDF:
1 slide per page
- StarOffice
file
- Lab
- 3522_hibernateannotation.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/hibernateannotation/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
- Resources
return
to topics
Hibernate Best Practices -
work in progress
- Presentation 1
- PDF:
1 slide per page
- StarOffice
file
- Lab
- 3519_hibernatejoinfetch.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/hibernatejoinfetch/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
- Resources
return
to topics
Refactoring
HelloWorld Application using Spring Framework
You are going to learn how to refactor
the good old "HelloWorld" application in various ways including the
usage of Dependency Injection (DI) scheme of the Spring framework.
return
to topics
Spring
Framework
Dependency Injection Basics
Dependency Injection (DI) is the one of
the foundation of the Spring framework. You are going to learn
how to use the basic usage of DI in this session.
- Pre-class reading
- Presentation
- Lab - using Spring framework 2.5
- Resources
return
to topics
Spring
Framework
Dependency Injection Advanced
- Presentation
- Lab - using Spring framework 2.5
- Resources
return
to topics
Spring framework and
Hibernate
- Presentation
- Lab - using Spring framework 2.5
- Resources
return
to topics
Spring framework and JPA
- Presentation
- PDF:
1 slide per page
- StarOffice
file
- Lab
- Resources
return
to topics
Spring MVC
- Presentation
- Lab - using Spring Framework 2.5
- Resources
- Documents
- Tutorials
- Presentations
- Tools
return
to topics
Spring Validation,
Data-binding, BeanWrapper, and Property Editor
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
- 4918_springmvc.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/springmvc/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
- Resources
return
to topics
Spring Web Flow
Spring Web Flow is a next generation
Java web application framework
that allows developers to model user actions as high-level modules
called flows that are runnable in any environment. The framework
delivers improved productivity and testability while providing a strong
solution to enforcing navigation rules and managing application
state.
- Presentation
- Lab
- Resources
- Web sites on Spring Web Flow
- Documentation
- Tutorials
- Presentations
return
to topics
Spring Integration
with Struts
- Presentation
- Lab
- Resources
return
to topics
Spring
Integration
with JavaServer Faces (JSF)
- Presentation slides (1.5 hour) - This
is JavaOne 2007 presentation by Kito Mann and Chris Richardson
- Lab
- Resources
return
to topics
Spring
AOP Basics
- Presentation
- Lab
- Resources
- Documentations
- Presentations
return
to topics
Spring
framework and J2EE (EJB and JMS)
return
to topics
Spring
framework and Web Services
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
- Resources
return
to topics
Spring
framework and Transaction
- Presentation
- Lab
- Resources
- Documentations
- Articles and tutorials
return
to topics
Spring and Testing
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
- Resources
return
to topics
Spring
framework sample applications - PetClinic
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
return
to topics
Advanced Spring Framework
- Presentation - this is the JavaOne
2007 presentation by Rod Johnson
- Lab
return
to topics
Acegi Security
with Spring framework
- Presentation
- PDF:
1 slide per page
- StarOffice
- Lab
- Resources
return
to topics
Portlet Basics -
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
- Resources
return
to topics
Struts 2 Basics
- Presentation
- Lab
- Resources
return
to topics
Struts 2 and Other View Technologies
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
- 4221_struts2basics.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/struts2basics/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
- Resources
return
to topics
Struts 2 and Ajax
- Presentation
- PDF:
1 slide per page
- StarOffice
8 file
- Lab
- 4221_struts2basics.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/struts2basics/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
- Resources
return
to topics
Sun Provisioning Server
(SPS)
return
to topics
GlassFish Overview
1. Presentation slides (1 hour)
return
to topics
GlassFish V3
return
to topics
GlassFish Web Space Server
1. Presentation slides (1 hour)
- PDF:
1 slide per page
- StarOffice
file
2. Lab
- 4221_struts2basics.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/struts2basics/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
3. Resources
return
to topics
GlassFish Enterprise
Manager
1. Presentation slides (1 hour)
- PDF:
1 slide per page
- StarOffice
file
2. Lab
- 4221_struts2basics.zip
(Unzip it in a directory of your
choice
and read lab document from
<unzip-directory>/struts2basics/index.html to proceed)
- Online
lab document (This is the same document you will find in
the hands-on lab zip file)
- Homework
- Change
log
3. Resources
return
to topics
SailFin Project
- Presentation
- Lab
- Resources