Java Web Programming (JEE) and REST

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
  •  Advanced Servlets
    •  Servlet Lifecycle
      •  Overview
      •  Instantiation
      •  Initialization
        •  init(ServletConfig) Method
        •  init() Method
        •  Lazy Initialization
      •  Service
        •  Service() Method
        •  Relationship of service() to doGet()/doPost()
      •  Destruction
        •  Destroy() <ethod
    •  Servlet Configuration
      •  ServletConfig Interface
      •  Reading Initialization Parameters
    •  Deployment Descriptors
      •  Web.xml
        •  <servlet> Element
        •  <servlet-mapping> Element
        •  <welcome-file-list> Element
      •  Vendor-web.xml
    •  Servlet Threading
      •  Servlets are Singletons
      •  Servlets are Multithreaded
      •  Synchronization Techniques
  •  Session Tracking
    •  HttpSession
      •  Need for Sessions
      •  HttpSession Class
      •  Accessing the Session
      •  Session Invalidation
      •  Session Timeout
    •  Cookies
      •  Overview
      •  Cookie Class
      •  Cookie Expiration
      •  Sending Cookies to the Client
      •  Retrieving Cookies from the Client
    •  URL Rewriting
      •  Overview and Need for URL Rewriting
      •  URL Rewriting and HttpSession
    •  Scopes
      •  Request Scope – ServletRequest Class
      •  Session Scope – HttpSession Class
      •  Application Scope – ServletContext Class
      •  API for Using the Scopes
  •  Model-View-View-Model (MVVM) and Model-View-Controller (MVC)
    •  Interactions
    •  Model, View, Controller
  •  Advantages of MVC
    •  MVVM Overview
      •  ViewModel vs Controller
    •  Leveraging both patterns
  •  Introduction to RESTful Services
    •  SOA fundamentals
      •  JAX-WS vs JAX-RS
      •  REST Features
      •  REST Principles
    •  Defining resources and sub-resources
    •  Consuming data
    •  Using Application and ApplicationPath
    •  Resource locators
  •  Introduction to JAX-RS
    • APIs and Implementations
    •  JAX-RS Overview, Annotations
    •  JAX-RS Implementations
  •  Runtime Environment
    • Application Server, Servlet-Only Container
    •  Architectural and Implementation Perspectives
    •  Configuring the Application
  • Applications, Resources and Providers
    •  JAX-RS Applications
    •  Resource Classes and @Path
    •  Provider Classes and @Provider
    •  Default Lifecycles
    •  The Application Class and rest-path

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!