J2EE Programming using Eclipse and JBoss

This course teaches programmers how to write enterprise applications based on the Java 2 Enterprise Edition (J2EE) architecture. In addition to the core concepts of J2EE, this course provides specific instruction on building J2EE applications using the best practices established in the field.

After completing this course, the student should be able to:
• The core concepts of J2EE: Servlets, Java Server Pages, Enterprise Java Beans
• How to develop and maintain J2EE applications
• How to deploy J2EE applications into an Application Server

Course Outline

1. Introduction to J2EE and JBoss AS

• Java Web applications
• Java Web application architecture
• J2EE architecture
• Web application programming model - MVC
• A scenario of using MVC
• Typical services provided by application servers
• Web application development and deployment
• EAR projects
• EJB projects

2. Servlet Basics

• Servlet overview
• HTTP Servlet API
• Servlet life cycle
• Examples
• Developing Servlets

3. JSP Basics
• JSP overview
• JSP directives
• JSP expressions
• JSP scriptlets
• JSP declarations
• Examples
• Developing and testing JSP
4. JSTL and Expression Language(EL)
• Understand JSTL basics
• JSTL Tags
• Expression Language
• EL and JSP's
• EL Syntax

5. Servlet Interaction

• Understand the details of Servlet programming objects:
o Request
o Response
o ServletContext
o Session
o Cookies

6. Advanced Servlet Programming
• Understand the practice programming model for web applications
• MVC Model
• Understand the server-side implementation of MVC by integrating servlets and JSPs
• JDBC Architecture
• JDBC Connection Pooling and Data Sources
• Integrating Servlets and JSP's

7. JSP Techniques

• Present several JSP programming techniques for:
o Error handling
o Form input validation
o Session management
• Examples

8. Using Java Beans with JSP

• Present the concept of a Java Bean
o Structure
o Life Cycle
o Properties
• Describe using Java Beans in a JSP
o jsp:useBean tag
o Java Bean scope
o jsp:useBean in action
o jsp:getProperty tag
o jsp:setProperty tag
• Mixing Scriplets and Bean tags

9. Enterprise JavaBeans Programming - Overview

• EJB fundamentals
• Overview of EJB container and EJB server responsibilities
• Overview of entity EJB's and session EJB's
• EJB deployment descriptor

10. Enterprise JavaBeans Programming - Session Beans
• Session bean contexts and lifecycle
• Writing stateless session beans
• Writing stateful beans
• Examples
• Creating session beans

11. Enterprise JavaBeans Programming - Entity Beans
• Entity bean contexts and lifecycle
• Writing container-managed entity beans
• Writing bean-managed entity beans
• Examples
• Creating entity beans

12. Best Practices

• Stateful Session Beans
• Transaction Isolation Levels
• Which EJB objects to cache
• Deploying the Web and EJB containers
• CMP EJB Pooling
• Access Beans
• Using HTTP Session
• Connection Pooling
• Java Best Practices

13. J2EE Design Patterns
• EJB Layer Architectural Patterns
• Inter-tier Data Transfer Patterns
• Transaction and Persistence Patterns
• Client-side EJB Interaction Patterns
• Primary Key Generation Strategies


This course is designed for Java programmers and web application designers who have interest in learning how to build or maintain enterprise applications based on the J2EE architecture using open source tools.