Java / JEE Web Developer for Object Oriented Programmers

Learn Basic Java programming skills, in preparation for building server-side applications on the Java EE platform

TT5140 / TT5190

Introductory

5 Days

Course Overview

New to Java and need to get a handle on the latest Java EE / JEE web developer essentials? Need to learn Java, without the GUI and Swing? This five-day, comprehensive hands-on training course will teach you essential Java programming skills, in preparation for building server-side applications on the Java EE platform.

Java Enterprise Edition (Java EE) is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive suite of server-side technologies. This course tells you what you need to know to design and build your own web applications. You'll learn the details of the key JEE technologies and how to leverage the strengths of each, with special focus on Servlets and JSPs.  At the same time, you'll be learning about the big picture of Java EE and how to design web applications that are robust, efficient, secure, and maintainable. If you want to deliver an application on the web, you'll find this course essential.

NOTE: If you are new to OO programming, you should consider the TT5145 Introduction to Java Web Development / Java EE for Developers New to OO as an alternative.

What You'll Learn

You'll leave the course armed with the skills required to develop basic object-oriented applications written in Java, using sound coding techniques and best coding practices, with a specific focus on server-side development. This skills-focused course is about 50% hands-on lab to lecture ratio, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. 

Working in a hands-on learning environment led by our expert instructor, you’ll explore:

  • Java language fundamentals, its importance, uses, strengths and weaknesses
  • The basics of the Java language and how it relates to OO programming and the Object Model
  • How to use Java exception handling and logging features
  • Use classes, inheritance and polymorphism
  • Collections, generics, autoboxing, and enumerations
  • The JDBC API for database access
  • Working with annotations
  • Designing and building robust and maintainable web applications
  • Creating dynamic HTML content with Servlets and Java Server Pages
  • Making Servlets and JSP work together cleanly

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional Java / JEE, web development, testing, programming, security and other related topics that may be blended with this course for a track that best suits your needs.

Course Objectives

You'll leave the course armed with the skills required to develop basic object-oriented applications written in Java, using sound coding techniques and best coding practices, with a specific focus on server-side development. This skills-focused course is about 50% hands-on lab to lecture ratio, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. 

Working in a hands-on learning environment led by our expert instructor, you’ll explore:

  • Java language fundamentals, its importance, uses, strengths and weaknesses
  • The basics of the Java language and how it relates to OO programming and the Object Model
  • How to use Java exception handling and logging features
  • Use classes, inheritance and polymorphism
  • Collections, generics, autoboxing, and enumerations
  • The JDBC API for database access
  • Working with annotations
  • Designing and building robust and maintainable web applications
  • Creating dynamic HTML content with Servlets and Java Server Pages
  • Making Servlets and JSP work together cleanly

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional Java / JEE, web development, testing, programming, security and other related topics that may be blended with this course for a track that best suits your needs.

Course Prerequisites

This is an introductory level training course, designed for experienced OO developers (such as C++ or SmallTalk) that need to extend their skills in web development and understand the basic architecture of a JEE web application and/or implement a web application, taking advantage of what JEE brings to the table.

Take After: Our core Java training courses provide students with a solid foundation for continued learning based on role, goals, or their areas of specialty.  Our object oriented, Java developer learning paths offer a wide variety of follow-on courses such as:

  • Continued Java & Java EE training: Spring, Microservices, RXJava, REST, Java for Web, Web Services, Tuning, Patterns & more
  • TDD / Test Driven Development, JUnit / Unit Testing, Agile development training
  • Secure Java Coding / Java Security and secure application web development training
  • Mobile developer / Android training
  • Please contact us for recommended next steps tailored to your longer-term education, project, role or development objectives.

Please see the Related Courses tab for Pre-Requisite course specifics and links, links to similar courses you might review as an alternative, as well as suggested Next-Step Follow-On Courses and Learning Path recommendations.

Course Agenda

Part One: Core Java Programming

Session: Java: A First Look

Lesson: The Java Platform

  • Java Platforms
  • Lifecycle of a Java Program
  • Responsibilities of JVM
  • Documentation and Code Reuse

Lesson: Using the JDK

  • Setting Up Environment
  • Locating Class Files
  • Compiling Package Classes
  • Source and Class Files
  • Java Applications

Session: Getting Started with Java

Lesson: Writing a Simple Class

  • Classes in Java
  • Class Modifiers and Types
  • Class Instance Variables
  • Primitives vs. Object References
  • Creating Objects

Lesson: Adding Methods to the Class

  • Passing Parameters Into Methods
  • Returning a Value From a Method
  • Overloaded Methods
  • Constructors
  • Optimizing Constructor Usage

Lesson: Language Statements

  • Operators
  • Comparison and Logical Operators
  • Looping
  • Continue and Break Statements
  • The switch Statement
  • The for-each() Loop

Lesson: Using Strings

  • Strings
  • String Methods
  • String Equality
  • StringBuffer
  • StringBuilder

Lesson: Specializing in a Subclass

  • Extending a Class
  • Casting
  • The Object Class
  • Default Constructor
  • Implicit Constructor Chaining

Session: Essential Java Programming

Lesson: Fields and Variables

  • Instance vs. Local Variables: Usage Differences
  • Data Types
  • Default Values
  • Block Scoping Rules
  • Final and Static Fields
  • Static Methods

Lesson: Using Arrays

  • Arrays
  • Accessing the Array
  • Multidimensional Arrays
  • Copying Arrays
  • Variable Arguments

Lesson: Java Packages and Visibility

  • Class Location of Packages
  • The Package Keyword
  • Importing Classes
  • Executing Programs
  • Java Naming Conventions

Session: Advanced Java Programming

Lesson: Inheritance and Polymorphism

  • Polymorphism: The Subclasses
  • Upcasting vs. Downcasting
  • Calling Superclass Methods From Subclass
  • The final Keyword

Lesson: Interfaces and Abstract Classes

  • Separating Capability from Implementation
  • Abstract Classes
  • Implementing an Interface
  • Abstract Classes vs. Interfaces

Lesson: Exceptions

  • Exception Architecture
  • Handling Multiple Exceptions
  • Automatic Closure of Resources
  • Creating Your Own Exceptions
  • Throwing Exceptions
  • Checked vs. Unchecked Exceptions

Session: Java Developer's Toolbox

Lesson: Utility Classes

  • Wrapper Classes
  • The Number Class
  • Random Numbers
  • Autoboxing/Unboxing
  • The Date Class

Lesson: Inner Classes

  • Member Inner Classes
  • Local Inner Classes
  • Anonymous Inner Classes
  • Anonymous Subclassing

Lesson: Enumerations and Static Imports

  • Enumeration Syntax
  • When You Should Use Enumerations
  • Using Static Imports
  • When You Should Use Static Imports

Session: Collections and Generics

Lesson: Introduction to Generics

  • Generics and Subtyping
  • Bounded Wildcards
  • Generic Methods
  • Legacy Calls To Generics
  • When Generics Should Be Used

Lesson: Collections

  • Characterizing Collections
  • Collection Interface Hierarchy
  • Iterators
  • The Set Interface
  • The List Interface
  • Queue Interface
  • Map Interfaces
  • Using the Right Collection
  • Collections and Multithreading

Part 2: Developing Java EE Applications

 Session: Java Application Development

Lesson: Introduction to Annotations

  • Annotations Overview
  • Working with Java Annotations

Session: Java EE Application Architecture

Lesson: Technical Overview of Java EE

  • Common Themes In JEE Framework
  • JEE Containers and Components
  • JEE Containers
  • JEE Platform Roles
  • Annotations
  • Dependency Injection

Session: Web Applications

Lesson: Understanding Web Applications

  • Java EE Application Modules
  • Enterprise Application Archive (EAR)
  • Enterprise JavaBean Archive (JAR)
  • Web Application Archive (WAR)

Lesson: Configuring Web Applications

  • Mapping an HTTP Request to a Resource
  • The web.xml File
  • Annotations

Session: Developing Servlets

Lesson: Introduction to Servlets

  • Life Cycle of Servlets
  • HttpServlet doXXX Methods
  • HttpServletRequest Methods
  • HttpServletResponse

Lesson: Debugging Java EE Applications

  • Breakpoints
  • Running a Server in the Debug Mode
  • Variables View
  • Change Variable Value

Lesson: Processing Input Data

  • Form Processing with Servlets
  • HTML Form
  • LoginServlet doPost

Lesson: Server-side Control

  • Request Dispatcher
  • Forward the processing
  • Include processing
  • HTTP Request Information
  • Threading and Data

Lesson: Client-side Control

  • Setting Status Codes
  • Setting Headers
  • sendRedirect
  • Supporting Persistent Connections
  • Dynamic Content Pushing

Lesson: Session Management

  • Tracking Problem – Stateless HTTP
  • Data Problem – Session Data
  • Cookie Behavior; Retrieving Cookies
  • URL Rewriting
  • Web Container Manages Session Instances
  • Cookie-Based Sessions
  • Getting Rid of Http Sessions

Lesson: Application and Session Events (Optional)

  • Event Listener Model
  • Life Cycle Events in a Web-Application
  • Type of Events

Session: Filters

Lesson: Overview of Filters

  • Single Filter
  • Filter Life Cycle
  • Cascading Filters

Lesson: Filtering Requests and Responses (Optional)

  • Request Wrapper
  • Process the Request
  • Filter the Response
  • Response Wrapper

Session: Developing JavaServer™ Pages

Lesson: Introduction to JSPs

  • Separating Presentation from Model
  • Lifecycle of a JSP
  • JSP Scripting: Declarations; Expressions; Scriptlets
  • &
  • Directives
  • JSP Actions
  • JSPs or Servlets?

Lesson: JSP Implicit Objects

  • Implicit Objects
  • Attributes
  • Session Attributes
  • Exception Handling

 Session: Database Integration: JDBC and Java EE

Lesson: JDBC and Its Position in Java EE

  • JDBC in JEE
  • Programming with DataSources
  • JNDI names
  • DataSource Programming Best Practices

Lesson: JDBC Data Access API

  • Statements
  • PreparedStatements
  • ResultSet
  • Executing Inserts, Updates, and Deletes
  • Mapping SQL Types to Java Types
  • CallableStatement

Lesson: The DAO Pattern

  • Data Access Object (DAO)
  • DAO Structure
  • The DAOFactory
  • Complete UML Diagram

Course Materials

Student Materials: Each participant will receive a digital Student Guide and/or Course Notes, code samples, software tutorials, step-by-step written lab instructions (as applicable), diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment, or local installation, is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. In some cases we can also help you install this course locally if preferred. Please inquire for details and options.

Every-Course Extras = High-Value & Long-Term Learning Support! All Public Schedule courses include our unique EveryCourse Extras package (Course Recordings, Live Instructor Follow-on Support, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Mix, Match & Master!
2FOR1: Two Courses, One Price!

Enroll in *any* two public courses (for 2023 *OR* 2024 dates!) by December 31, for one price!  Learn something new, or share the promo!

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More