Java EE Web Application Development

Course:  JAVAWA
Duration:  3 Days
Level:  II
Course Summary

This course presents the Java EE API core and advanced coding techniques for developing Web Applications using either Servlets or JavaServer Pages. Each student receives both a training workbook and reference textbook. This course can be delivered using either Linux/UNIX or Windows platforms, and emphasizing use of either NetBeans or Eclipse as the development environment.  All tools and techniques presented are fully applicable to any Java Application Server, including Websphere, Oracle/Weblogic, Tomcat, JBOSS and others.

The course modules indicated as "optional' are not covered in the standard three-day format for this course. Including some or all of these modules will extend the course duration, but provides the possibility of including students with limited HTML experience, or of covering some more advanced Web App development topics.

« Hide The Details
Topics Covered In This Course

Overview of Java EE (Enterprise Edition)

  • Overview: Definitions, MVC Design Pattern, Server Products
  • Platform Servers: Containers, Client Technologies
  • API Services: Servlet, JSP, EJB, JNDI, JDBC, JTA, JMS, JAXP, JCA, JAAS
  • Web Application Processing Cycle
  • Deployment Objects: JAR/WAR/EAR
  • Server Component Directory Structure, XML Descriptors
  • Development Roles
  • Sample Apps

Developing JavaServer Pages (JSP)

  • Overview: User Interface Forms, Actions, GET vs POST Processing
  • JSP Syntax: <% Tags, Scriptlets and Expressions, Implicit Objects request/response, Methods
  • Real vs. Virtual Server Paths
  • Using Java Component Classes, JSP Directives, Importing Packages, Declaring Custom Fields/Methods
  • JSP and App Error Handling

Developing Servlets

  • Overview: User Interface Forms
  • Servlet Class Architecture, Life Cycle
  • Request/Response Objects
  • Servlet Mapping and web.xml Deployment Descriptor
  • Servlet Coding
  • Life Cycle Methods, Instance Fields and Threading
  • Servlet and App Error Handling, Logging/Console Messages

Servlet Collaboration and MVC Design Pattern

  • Overview: Model 1 vs 2 MVC Patterns, Servlet/JSP/JavaBeans Collaboration
  • Forwarding Requests, Data Attributes, RequestDispatcher Code, Redirecting Responses;
  • Including JSP/Servlet Response Output, Compile vs Request Time Include
  • Context and Servlet Parameters and web.xml
  • Custom Error Response Pages

Maintaining State with Sessions and Cookies

  • Overview: Stateless HTTP
  • AppServer HTTP Sessions, Attributes, Methods, Sharing/Threading Issues, URL Encoding vs Cookies
  • Cookie Overview: Formats, Features
  • Creating Cookies, Specifying Expiration/Path/Domain, Retrieve/Send Methods
  • URL ReWriting and Hidden Fields Alternatives

JSP Tags and JavaBeans

  • Overview: JavaBean Design Pattern
  • JSP Action Tags, XML Syntax, useBean Tag
  • Get/Set Property Tags, Request Parameters, Conversion to/from String

JSP Expression Language (EL)

  • Overview: EL Dis/Advantages
  • Coding EL, DotOperator, Scoping Access, [] Operator and List/Map Coding
  • Implicit EL Objects, Request/Context Parms, Headers, Cookies
  • EL Arithmetic/Comparison Operators
  • Standard Tag Library (JSTL)

Server-Side Database Processing

  • Overview/Review JDBC Drivers, Connections, ResultSets
  • Connection Pooling
  • AppServer Administered Objects, DataSources and JNDI

Restricting Access and Authentication (JAAS)

  • Overview: Authentication and Authorization, Programmatic vs Container-Managed
  • Authentication Types
  • Security Role and Constraints in web/context.xml
  • AppServer Support, Realms

Essential HTML Skills (optional or self-study)

  • HTML Document Structure Tags
  • Common Tags, Headings, Paragraphs, Formatting
  • Coding Anchor Link Tags, Attributes
  • Coding Table Tags, Rows, Columns, Formatting
  • Including Images
  • Styles
  • Coding Form Tags, Action and Method Attributes
  • Forms: Text Input, Buttons, Checkbox/Radio Buttons, Combo/List Selectors
  • Styles

Using the Tomcat Application Server (optional or self-study)

  • Install Directory Structure, Deployment Directories, EnvironVars
  • Start/Stop AppServer, server/context.xml

Using Custom JSP Tags (optional)

  • Overview, taglib Directive, Tag Library Descriptors (TLD)
  • Custom Tag Coding w/out Content Body
  • Handling Tag Attributes
  • Iteration
  • Using Scripting Variables/Objects, TEI Class
  • Body/TagSupport Fields/Methods, PageContext and BodyContent Fields/Methods

Coding Filters and Listeners (optional)

  • Filter Overview: Benefits, Usage
  • Coding Filters, Life Cycle Methods, FilterConfig Object, Chaining, XML Configuration
  • Request/Response Processing, Req/Resp Wrappers, Init Parameters
  • Listener Overview, Usage
  • Coding Listeners, ServletContextListener, Interface Methods, XML Registration Tags
  • Other Listeners, HttpSession ad ServletRequest, Interface Methods, Event Objects
Who Should Take This Course

Developers/programmers who will be implementing Web Applications using Java EE technologies (Servlets and/or JSPs).

Recommended Prerequisites

This course assumes good Java SE competence, which might be gained either from significant Java programming experience or by attending our Java Programming Fundamentals course. No Server-side Web Application experience is required, however basic knowledge of HTML structure and syntax is assumed.

Training Style

Lecture, discussion, demonstrations and extensive hands-on labs.

« Hide The Details
Related Courses
Code Course Title Duration Level
Fundamentals of Java Development
5 Days
JavaServer Faces (JSF) Programming
3 Days
Web Development with Jakarta Struts
4 Days
Intermediate and Advanced Java Topics
10 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]