Java Web Programming (JEE) with Angular

Course Number:



Course Duration:
5 Days


Students should complete an introductory Java class or have at least three months of Java programming experience before taking this course.

Course Objectives:
  • Recognize what technologies are available in JEE
  • Demonstrate understanding of web application file and packaging structure
  • Understand and appreciate the role of Java Servlets in the overall Java Enterprise Edition architecture
  • Use request and response objects provided to a servlet to read parameters and to produce an HTML response
  • Develop interactive web applications using HTML forms and servlets
  • Manage complex conversations with HTTP clients using session attributes
  • Diagram and explain  the differences in MVC and MVVM
  • Create a RESTful web service in Java using JAX-RS
Course Outline:
  • JEE Overview
    • JEE Technologies
    • HTTP Overview
      • Requests (GET/POST)
      • Responses
      • URLs
      • Resource Mappings
      • Request Parameters
    • Web Applications
      • Structure
      • WAR File
      • Context Root
      • Deployment
  • Servlet Basics
    • Overview and API
      • Static versus Dynamic Content
      • Servlets
        • Role in a Web App
        • Servlet Interface
        • GenericServlet Class
        • HttpServlet Class
      • Mapping a URL to a Servlet Class
      • Web Container
    • Requests and Responses
      • HttpServletRequest
        • Reading HTTP Request Headers
        • HTML Forms
        • Reading HTTP Request Parameters
      • HttpServletResponse
        • Setting HTTP Response Headers
      • Monitoring Requests and Responses
  • CDI and JPA
    • CDI fundamentals
      • RequestContext
      • Events
      • Annotation literals
    • JPA
      • CRUD
      • Listeners
      • Validating entities
  • Microservices
    • Core concepts
    • Service components and Granularity
    • Bounded Context
    • Data Exchange
    • Testing
  • JEE and JSON
    • Purpose of JSON
    • JSON Syntax
    • Data Types
    • JSON Objects
    • JSON Arrays
    • Parsing JSON
    • JSON Processing in JEE
    • JSON binding in JEE
  • JavaScript ES6 and TypeScript
    • Variables, data types, template strings
    • Functions and arguments, rest, and spread
    • Destructuring assignments
    • Closures and arrow functions
    • Prototypes
    • Classes
    • Promises, async and await
    • Modules
    • Strongly typed variables and parameters
    • Interfaces
    • Typescript classes
    • Decorators
  • Angular and Components
    • Node Package Manager
    • Angular CLI and project structure
    • Angular Modules and TypeScript Modules
    • Components, templates, and bootstrapping
  • Data and Event Binding
    • String interpolation
    • Property binding
    • Two-way data binding using ngModel
    • Event binding
  • Directives
    • Structural directives: ngFor, ngSwitch, and ngIf
    • Attribute directives: ngStyle, ngClass, and ngModel
    • Custom directives
    • Manipulating the DOM
  • Components
    • Custom property binding: @Input
    • Event emitters: @Output
    • Lifecycle methods: onInIt, onChange, onDestroy
  • Pipes
    • What is a pipe?
    • Using pipes to format information
    • Default/built-in pipes
    • Defining custom pipes
  • Service and Dependency Injection
    • Dependency injection basics
    • What is a service?
    • @Injectable
    • Create a basic service
    • Service injection
  • Unit Tests
    • Testing paradigms
    • Jasmine unit tests and Karma
  • HTTP Requests
    • Basic GET, POST, PUT, DELETE request overview
    • Wrapping HTTP calls into services
    • Using promises to implement HTTP calls
    • Mocking HTTP for unit tests
  • Routing and Navigation
    • RouterModules and routes
    • Default routes
    • Router directives: RouterOutlet, RouterLink, and RouterLinkActive
    • Wildcard routes
    • Redirecting routes
  • Template-Driven forms
    • Preventing default with form submission
    • Field data validation
    • Binding to object variables
    • Data immutability and management
    • Protractor and E2E tests

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!