Live Webinar - ITIL 4 Overview - What’s New from ITIL v3 to ITIL 4

closeClose

Java Web Developer with Servlets, JSTL, XML, Web Services, Security & More

Course Details
Code: TT5180
Tuition (USD): $2,495.00 • Classroom (5 days)

New to Java and need to get a handle on JEE basics? 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 JEE platform. This is a five-day, comprehensive hands-on workshop geared for developers who have prior working knowledge of object-oriented programming languages such as C++. This course is geared for software developers who need to understand what JEE is, what it means in terms of today's systems and architectures, and how to apply JEE technologies and practices in implementing and deploying robust, flexible web applications. In addition to the normal exercises that are liberally sprinkled throughout the course, there is a case study that covers the entire spectrum from use cases to object-oriented design to implemented classes. This case study supplements the course and can be used during and after the course as a reference and a tool for reviewing and practicing what was learned in class.

Skills Gained

Students who attend this course will leave the course armed with the required skills to build basic web applications. Working in a dynamic, interactive discussion and hands-on programming environment, developers will:

  • Understand not only the fundamentals of the Java language, but also it’s importance, uses, strengths and weaknesses
  • Understand the basics of the Java language and how it relates to OO programming and the Object Model
  • Learn to use Java exception handling and logging features
  • Understand and use classes, inheritance and polymorphism
  • Understand and use collections, generics, autoboxing, and enumerations
  • Use the JDBC API for database access
  • Work with annotations
  • Design and build robust and maintainable web applications
  • Create dynamic HTML content with Servlets and Java Server Pages
  • Make Servlets and JSP work together cleanly

Who Can Benefit

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.

Course Details

Part One: Essentials Java Programming

Session: Java: A First Look

Lesson: Using the JDK

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

Lesson: Writing a Simple Class

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

Lesson: The Java Platform

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

Session: Getting Started with Java

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

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

Lesson: Using Arrays

  • Arrays
  • Accessing the Array
  • Multidimensional Arrays
  • Copying Arrays

Lesson: Static Methods and Fields

  • Static Fields
  • Static Methods

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
  • Java 7 - Handling Multiple Exceptions
  • Java 7 – Automatic Closure of Resources
  • Creating Your Own Exceptions
  • Throwing Exceptions
  • Checked vs. Unchecked Exceptions

Session: Java Developer's Toolbox

Lesson: Collections

  • Characterizing Collections
  • Collection Interface Hierarchy
  • Generics and Collections
  • Java 7 – The Diamond Operator
  • Iterators
  • The Set Interface
  • The List Interface
  • Queue Interface
  • Deque Interface
  • Map Interfaces
  • Using the Right Collection
  • Collections and Multithreading

Lesson: Generics

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

Part Two: Essential Web Development with Servlets/JSPs

Sessio: JEE Application Architecture

Lesson: Technical Overview of JEE

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

Session: Web Applications

Lesson: Understanding Web Applications

  • JEE 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 JEE 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: 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

Session: Developing JavaServer Pages

Lesson: Introduction to JavaServer Pages

  • 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 JEE

Lesson: JDBC and Its Position in JEE

  • 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

Session: Advanced Topics

Lesson: Introduction to Hibernate

  • Hibernate ORM
  • Benefits of Using Hibernate
  • Hibernate Supports Caching
  • Hibernate and JEE

Lesson: Introduction to XML

  • XML Separates Structure, Content and Format
  • Content: XML Document Syntax Rules
  • Structure: A Document Type Definition
  • Formatting: XSLT Transformation to HTML

Lesson: Web Services Overview

  • Web Services Characteristics
  • Web Services Architecturally
  • Web Services Challenges
  • .NET Web Services
  • Web Services in Action