
|
Java Server-Side Web Applications |
|
| SUMMARY: |
This course introduces a Java programmer to the Java EE APIs and design essentials to develop server-side Web Applications. An overview of the Java EE architecture is followed by a detailed introduction to writing Servlets and JavaServer Pages. |
| AUDIENCE: |
The material covered in this course is designed for students with previous Java core client-side programming experience who plan to develop server-side Web Applications using Java. |
| PREREQUISITES: |
Students are expected to be familiar with Java programming fundamentals and the client-side API packages.
Students with light/no Java programming backgrounds should consider covering this material by attending either "Java Fundamentals for Non OOP Programmers" or "Java Programming for OOP Programmers", depending on their experience. |
| APPROACH: |
Instructor-led lecture and discussion with extensive demos and hands-on labs. Chapter appendices include optional/advanced material to be included as time permits. Multiple labs for each chapter permit students with varied backgrounds to progress through the material.
|
| OBJECTIVES: |
At the end of this course, students will be able to:
- Understand and describe the Java Application Server architecture, containers, services provided and deployment units.
- Understand the Servlet architecture and lifecycle methods.
- Develop servlets to process HTML forms and return dynamically created HTML pages.
- Develop JavaServer Pages to process data and create dynamic HTML pages.
- Code server-side database applications using JNDI and DataSources.
- Design and develop collaborative Servlet/JSP web applications using the RequestDispatcher facilities.
- Understand and use EE facilities for maintaining conversational state including cookies and request, session and application contexts.
|
| COURSE CONTENT: |
- Java EE and Server-Side Applications
- Overview: MVC Design Pattern, Application Servers, Versions
- EE Platform: Web/EJB Containers, Services
- EE API Packages: JDBC, JNDI, Servlet, JSP, EJB
- Development and Deployment
- Web Component WAR file, web.xml descriptor
- EJB Component JAR file, ejb-jar.xml descriptor
- Application EAR file, application.xml descriptor
- Components and Server Directory WEBAPPS Structure
- EE Roles: Product/Tool Provider, Component Developer, Assembler, Deployer, Administrator
- Developing Servlets
- Overview:
- HTTP, Browser/Server Cycle,
- Contexts and URL invocation syntax, Query Strings
- Web Containers
- API Packages
- Servlet Component Architecture
- Example Servlet and Deployment Descriptor
- Interfaces: Servlet, ServletConfig, ServletContext
- Implementation Classes: GenericServlet, HttpServlet
- UnavailableException
- Servlet Lifecycle: init, service, destroy
- Thread Safety Issues
- Coding Servlets
- ServletRequest Class: Query Parameters, Input Streams, Headers
- ServletResponse Class: Status Codes, Content Types, Writer Streams, Headers
- Servlet Forms Processing
- HTML Forms Review
- Servlet Form Parameter Processing
- HTTP Header Processing
- Generating Forms Dynamically
- Using Files and Databases
- Accessing Server-Side Files, Path Translation
- Accessing Databases: JNDI, Server DataSource, Connection Pooling
- Maintaining Conversational State - Cookies
- Name, Value, Expiration, Domain/Path Ownership Retrieving/Sending Cookies
- Alternatives: Hidden Form Fields, URL Rewriting
- Maintaining Conversational State - HttpSession Objects
- Client Sessions, HttpSession Sharing
- Obtaining/Releasing Session Objects
- Setting Attribute Keys/Values
- Timeout Issues, Session Methods
- Servlet Collaboration
- Overview: Design Patterns, Include vs Forward Concepts
- Using RequestDispatcher objects
- Sharing Client data via Request, Session and/or Application Context Pools
- Appendix: Returning Non-HTML Resources
- Developing JavaServer Pages
- JSP Overview, MVC Design, Filenames
- JSP Translation vs Execution Phases, LifeCycle Methods
- JSP Tag Syntax, Whitespace, Comments
- Directives:
- page: import, session, errorPage Attributes
- include: Compile-time HTML/JSP merge
- taglib: Custom Tag Libraries
- Scripting Elements: Declarations, Scriptlets, Expressions
- Predefined Implicit Objects: request, response, out, session, application
- XML Action Tags
- Overview: Custom Tag Libraries
- useBean: attributes, scope, lifetime
- get/setProperty Attributes
- Form processing getProperty
- include/forward RequestDispatcher Collaboration Tags
- Appendix: JavaBean Design Pattern
- Appendix: MVC Shopping Application
AJC/08 |
|
© 2007 Verhoef Training, Inc.
|
|
Schedule Dates
Course offered as Inhouse or Public
PUBLIC SCHEDULE |
| Date |
Location |
State |
|
11/24/2008
 |
Tallahassee |
FL |
|
12/2/2008
 |
Madison |
WI |
|
12/8/2008
 |
Albany |
NY |
|
1/21/2009
 |
Columbia |
SC |
|
2/23/2009
 |
Nashville |
TN |
|
3/2/2009
 |
Baton Rouge |
LA |
|
3/30/2009
 |
Jackson |
MS |
|
4/13/2009
 |
Little Rock |
AR |
|
|