Java Training Overview
This 5 day training course teaches students how to develop Servlets, JSPs and EJBs for the Sun Java System Application Server 9 platform. About 50% of the time is spent on hands-on labs that use the NetBeans IDE 5.5 development tool.
Java Training Audience
This course is designed for Java programmers and web application designers who have an interest in learning how to build or maintain enterprise applications based on the Java EE architecture using Sun’s tools.
Java Training Prerequisites
Intermediate level Java programming knowledge.
Java Training Practical Work
Students will have the opportunity to build a simple Java program, Servlets and JSPs using NetBeans IDE 5.5. Students will also deploy a Java EE application to Sun Java System Application Server 9.
Java Training Learning Objectives
Upon completion of this course, you should be able to:
- Develop web based applications using Servlet and JSP
- Develop business logic layer using EJB
- Be productive developers in the NetBeans IDE environment
- Deploy application code to Sun Java System Application Server 9
Java Training Topics
- The core Java EE 5 specifications - Servlet, JSP and EJB
- Developing a business logic layer using EJB
- Developing a presentation layer using Servlet and JSP
- Mastering the NetBeans IDE tool
Java Training Course duration
Five Days
Java Training Course outline
1. Introduction to NetBeans IDE
- Objectives
- NetBeans 5.5 IDE
- Projects Window
- Source Editor
- Files Window
- Runtime Window
- Navigator Window
- Output Window
- Standard Projects
- Free-Form Projects
- Templates
- Building, Running, and Debugging Projects Using Ant
- Setting Main Project
- Opening and Closing Projects
- Code Completion
- Searching
- Setting Project’s Class Path
- Setting Project’s Target JDK
- Summary
2. Introduction to Java EE 5
- Objectives
- Java Web Applications
- Java Web Application Architecture
- J2EE Architecture
- J2EE Software Packaging
- Deployment Descriptors
- J2EE Module Structure
- Enterprise Archive (EAR)
- Web Modules and WAR
- EJB Modules
- Web Application Programming Model – MVC
- An MVC Example
- The Infrastructure for Enterprise Web Applications
- Summary
3. J2EE Programming Tools in NetBeans IDE
- Objectives
- Create an Enterprise Application Project
- Setup Utility JAR
- Create an EJB Module Project
- Create a Web Application Project
- Setup Dependent JAR Files
- Register a Server
- Select Server An Application Runs On
- Start and Stop the Server
- Test a Servlet
- Debug a Servlet
- Test a JSP
- Debug a JSP
- Summary
4. Servlet Basics
- Objectives
- History – CGI
- Server Extension APIs
- Java Servlet
- Servlet Container
- Servlet Responsibilities
- J2EE and Servlet
- The Servlet Class
- The HttpServlet Class
- An Example – Hello World
- The Servlet Container
- The Servlet API
- Life Cycle – Initialization
- Example Initialization
- Life Cycle – Processing
- Life Cycle – Destroy
- User Input
- Example – User Input
- Output to Client
- Servlet Error Handling
- Threading Issues
- Registering a Servlet in the Web Deployment Descriptor
- Create a Servlet in NetBeans
- Code Servlet Methods
- The Web Deployment Descriptor
- Test the Servlet
- Debug Servlets
- Summary
5. JavaServer Page (JSP) Basics
- Objectives
- JavaServer Pages
- A Simple Example - Hello.jsp
- JSP Benefits
- Evolution of Dynamic Content Technologies
- How JSP Works
- JSP Invocation
- JSP Scripting Elements
- JSP Directive
- page Directive Attributes
- page Directive – an Example
- page Attribute – errorPage
- page Attribute – isErrorPage
- Directives – include
- Include – an Example
- Include at compile time vs. at request time
- Request time inclusion
- JSP Declarations
- Declarations – an Example
- JSP Expressions
- JSP Expressions – an Example
- JSP Scriptlets
- JSP Scriptlets – an Example
- JSP Comments
- JSP Predefined Variables
- The request Object
- The response Object
- The out Object
- Out – an Example
- Creating a JSP with NetBeans
- Editing a JSP with NetBeans
- Testing a JSP with NetBeans
- Debugging a JSP with NetBeans
- Summary
6. Servlet Interaction Interface
- Objectives
- Request
- Request Parameters
- Request Attributes
- Request Headers
- Request Path
- Other Request Information
- Response
- Cookies
- Setting Cookies
- Servlet Context
- Servlet Context Attributes
- Resource
- Session Tracking
- Tracking Techniques
- Cookies
- Cookies – an Example
- HTML Hidden Fields
- Using HttpSession
- Session Invalidation
- An Example of Session Tracking Code...
- An Example of Session Tracking Code…
- HttpSession - URL Rewriting
- Summary
7. Unified Expression Language and JSP Standard Tag Library (JSTL)
- Objectives
- Unified Expression Language
- Basic Usage
- Built-in Objects
- Working With Arrays and Maps
- Operators
- Full Example
- JSP Standard Template Library (JSTL)
- Run Time Version
- Basic Tags
- Condition Tags
- Iterator Tags
- Internationalization (I18N)
- Setting Preferred Locale
- Specifying Resource Bundle
- Display Translated Text
- Display Number
- Display Date
- JDBC Tags
- Specify Data Source
- Performing a Query
- Display Result
- Pagination Example
- Deferred Expressions
- Summary
8. Servlet Programming – Advanced
- Objectives
- Key Issues for Web Application Development Productivity
- Web Application Programming Model – MVC
- Model
- View
- Controller
- What is JDBC?
- JDBC Architecture
- JDBC: Basic Steps
- Loading a Driver
- DB2 UDB JDBC Drivers
- Oracle JDBC Drivers
- Create a Connection
- Connection
- Statement
- PreparedStatement
- ResultSet
- ResultSet…
- Example JDBC Servlet With Transactions
- Close the Connection
- Need for Connection Pooling
- Connection Pooling in JDBC 2.0
- Connection Pooling
- Basic Steps in Using JDBC Connection Pooling
- Access a DataSource
- Get a Connection
- Release Connections
- Connection Pool Example
- Resource References
- JavaBeans
- MVC Implementation
- Request Dispatching
- Request Dispatching - Forward vs. Include
- HTTP Redirection
- Dispatch vs. redirection
- Integrating Servlet and JSP
- Calling a JSP from a Servlet
- Request Dispatching - forward Request to JSP
- Supply Result information to the JSP
- A Simple Example
- Display JavaBean Properties in JSP
- Creating a Data Source with NetBeans
- Adding Resource Reference in NetBeans
- Create a Java Bean with NetBeans
- Add Attributes and Getters and Setters with NetBeans
- Summary
9. J2EE Annotations
- Objectives
- What are Annotations?
- Java Metadata Specification (JSR-175)
- Where Can Annotations Be Used?
- @EJB, @EJBs
- @PersistenceContext, @PersistenceContexts
- @PersistenceUnit, @PersistenceUnits
- @PostConstruct, @PreDestroy
- @Resource, @Resources
- @WebServiceRef, @WebServiceRefs
- Summary
10. Enterprise JavaBeans (EJBs) Overview
- Objectives
- Need for EJBs
- Distributed Computing
- Distributed Transaction
- Distributed Security
- What are EJBs?
- Main Characteristics of EJBs
- EJB Remote Method Call
- EJB Architecture Components
- EJB Client
- EJB JAR File
- EJB Container
- EJB Server
- Enterprise JavaBeans
- Session Beans
- Entity Beans
- Java Persistence API - Entities
- Message-Driven Beans (MDBs)
- EJB Specification
11. Stateless Session Beans
- Objectives
- Session Beans
- Stateless Session Bean
- Stateless Session Bean Pooling
- Stateless Session Bean Examples
- Stateful Session Bean
- Stateful Session Bean Examples
- Annotations
- Stateless Session Bean Components
- Example: Business Interface
- Example: Bean Class
- Alternative Example
- Example: The Client
- Business Interface Details
- Bean Class Details
- JNDI - Overview
- Dependency Injection
- Dependency Annotations
- Injecting EJB References (@EJB)
- Injecting EJB References (@EJB) - Field Level Injection
- Injecting EJB References (@EJB) - Method Level Injection
- The @Resource Annotation
- Injecting Resources (@Resource) - Field Level Injection
- Injecting Resources (@Resource) - Method Level Injection
- A Full Example
- Session Bean Lifecycle
- Stateless Session Bean Lifecycle
- Summary
12. Stateful Session Beans
- Objectives
- Stateful Session Bean
- Stateful Session Bean Examples
- Stateful Session Bean Components
- Stateful Session Bean Example
- Stateful Session Beans
- Session Bean Lifecycle
- Stateful Session Bean Lifecycle
- Summary
13. Entities and Java Persistence API
- Objectives
- Data Persistence
- Java Persistence API
- Entities
- Session Beans Vs Entities
- Entities
- Persisting and Retrieving Data
- Entities - Example
- Descriptor File META-INF/persistence.xml
- Accessing Entities
- Persistence Context
- Working With the EntityManager Interface
- Accessing Entities Using Stateless Session Beans
- Updating Data
- Entity Lifecycle
- Life-Cycle Callbacks
- Example: Internal callback
- External Callback Class
- Listener Class - Example
- Synchronizing with Databases
- Entity Lookup
- EJBQL (EJB Query Language)
- EJB Query Language
- EJBQL: Simple examples
- EJBQL: SELECT clause
- EJBQL: SELECT clause
- EJBQL: FROM clause
- EJBQL: WHERE clause
- EJBQL: WHERE clause
- Using EJBQL - Dynamic Query
- Using EJBQL - Named Query
- Summary
14. Best Practices
- Objectives
- Stateful Session Beans
- Transaction Isolation Levels
- Which EJB objects to cache
- Caching and Pooling Entities
- Using HTTP Session
- Connection Pooling
- Java Best Practices
- Summary
15. Deploying Enterprise Application Projects to Sun Java System Application Server 9
- Objectives
- Exporting the Enterprise Application
- Deployment Descriptors
- Application Assemble Entries
- Installing an Application into Sun Java System Application Server 9
- Managing Applications
- Summary
16. J2EE Design Patterns
- Objectives
- EJB Layer Architectural Patterns
- Inter-tier Data Transfer Patterns
- Transaction and Persistence Patterns
- Client-side EJB Interaction Patterns
- Primary Key Generation Strategies
- Summary
Appendix A. Message-Driven Beans
- Objectives
- The Trouble with RMI/IIOP
- Messaging to the Rescue
- Messaging Features
- Message-Oriented Middleware
- Messaging Domains
- Publish/Subscribe
- Point-to-Point
- Java Message Service
- JMS Programming: Overview
- JMS Programming: Overview
- The JMS Interfaces
- Integrating JMS and EJB
- Message-Driven Beans Are Different From Other EJBs
- Message-Driven Beans Cannot Talk to Their Clients
- Message-Driven Beans are Stateless
- Durable Subscription
- Message-Driven Bean Interfaces
- javax.jms.MessageListener
- javax.jms.Message
- Specialized Message Types
- Lifecycle
- Message Driven Bean - Example
- Message Driven Bean - Client Example (JSP)
- Transactions
- Security
- Load Balancing
- Clustering and Topics
- Clustering and Queues
- A Few Tips
- Poison Messages
- How the Programmer Can Avoid Poison Messages
- How the System Administrator Can Avoid Poison Messages
- Building a Response
- Potential Problems
- A Simple Alternative
- Type Checking and Messages
- Testing Message-Driven Beans
- Summary
- References
Appendix B. Simple Custom Tags
- Objectives
- What are Custom Tags (a.k.a. Tag Extensions)?
- Motivation
- Simple Tags, Tag Files, and Classic Tags
- Simple Tag Handlers
- Tag Attributes
- Tag Body
- Tag Library Descriptor
- Tag Library Descriptor Details
- carPrice.tld
- The Java Server Page
- Writing a Simple Tag Handler Class
- Simple Tag Handler Life Cycle
- Rendering Content
- Implementing Empty Body Tag
- Example: CarPriceHandler
- carPrice.jsp
- Implementing a Tag With Unprocessed Body
- Handling Tag Bodies
- Implementing Body Processing
- Example: Body Tag Support
- Implementing an Iteration Tag
- Nested Tags
- Summary
Appendix C. Java Messaging Service
- Objectives
- Introduction
- Messaging Models
- Components of Point-to-Point Messaging
- Implementing a Sender
- Example Sender Servlet
- Example Sender Stateless Session EJB
- Listener Types
- Listener Design Decisions
- Implementing a JMS Receiver
- Example: Synchronous Receipt
- Components of a Pub-Sub Model
- Example Topic Publisher
- JMS Programming in NetBeans
- Summary
WINTRAC INC. - the one stop shopping center for IT training.
16523 S.W. McGwire Ct. Beaverton OR -97007
Phone: (503) 259-0312
Fax: 707-598-2268
Email: sales@wintrac.com
Send mail to webmaster@wintrac.com with questions or comments about this web site.
Copyright © 2011 Wintrac Inc.
|