Java EE Server-Side Programming Workshop


This course is designed for software developers who are already familiar with Java. It provides in-depth knowledge of Server-side Java Programming. During the course attendees will write many Servlets, JavaBeans and JavaServer Pages that interact with HTTP clients and databases.

Objectives

On successful completion of this course you will be able to:

  • understand and use Java Database Connectivity
  • use the JDBC API
  • code JDBC dynamic and prepared statements
  • process JDBC results sets and JDBC NULL values
  • handle JDBC errors and warnings
  • understand and use transaction control
  • understand and use Isolation Levels
  • use JDBC connection pooling techniques
  • code servlets
  • process HTTP requests and responses
  • process GET and POST requests
  • process HTML forms
  • understand servlet multi-threading issues / pitfalls
  • adopt single threading techniques where appropriate
  • use standard server error codes
  • understand servlet chaining
  • use the Session Tracking API
  • understand hidden fields / URL rewriting techniques
  • set and read cookies
  • use the request dispatcher
  • write JavaBeans
  • code JavaServer Pages
  • access JavaBeans from servlets / JSPs
  • use JSP tags
  • understand JSP JavaBean scopes
  • use JSP forwarding
  • use Model, View, Controller methodologies
  • use JSP error pages
  • use the WebSphere / RAD testing environment (if applicable).

Who Should Attend

Experienced Java software developers.

Prerequisites

A good understanding of the basic Java language and the more commonly used Java API classes. This knowledge can be gained by attending the Java SE Primer Workshop and Java SE Programming Workshop courses EC21.

Duration

4 days

Fee (per attendee)

£1650 (ex VAT)

Course Code

JESMF

Contents

Introduction to Server-Side Programming

Overview of Server-side programming; Servlets, Java Server Pages, Web Servers, Java Beans; Model, View, Controller architecture.

Database Access

What is JDBC? What alternatives are there? JDBC vs SQLJ How does JDBC work? JDBC Drivers and the JDBC API, Statements & Prepared Statements; Working with data; Accessing data - Working with Result Sets; Handling Warnings, Errors and NULL Values; Scalability Issues; Transaction Control and Isolation Levels; Configuring and using DataSources (using JNDI).

SQLJ

SQLJ Programming - Development Cycle using Db2; SQLJ Cursor Techniques.

Servlets

Servlet overview; Servlet vs CGI advantages; The Java Servlet API; Servlet life cycle; Multi-threading issues / pitfalls; What servlets are; Non-HTTP servlets - implementing the servlet interface; Non-HTTP servlets - extending the GenericServlet class; HTTP servlets - extending the HTTP servlet class; What servlets do; HTML get and post requests & catering for both; Getting data to servlets - the HTTP Request Object; Sending HTML back to the client - the HTTP Response Object; Using the data sent to a servlet; Form validation; Data validation; Servlet security; Servlets can invoke other servlets; Dispatching a resource from within a servlet.

Using Eclipse/WSAD/RAD to Code Servlets (if applicable)

The J2EE heirarchy; Web projects, where servlets should go; Creating servlets; Testing web applications; Server perspective, servers, server configurations and instances; Debugging servlets.

Accessing Databases via Servlets

Servlets, JDBC and connection pooling; DataSource definitions and JNDI; Getting database connections via a DataSource.

Data Scope / Persistence

Variable scope & protection; Servlet multithreading -iInstance variables are shared!; Thread safety - synchronized code; What is request scope?; Storing objects for the lifetime of the request; What is session scope?; Storing objects for the lifetime of the session; Session tracking using cookies, URL rewriting, HiddenFields; Session tracking API; Session creation and lookup, storing and retrieving session API information, lifecycle, session tracking without cookie support; Session binding; What is application scope?; Sharing data between different servlets.

JavaServer Pages

JSP Overview; The problem with servlets - why use JSPs?: How JSP pages are executed; Writing a JavaServer page; JSP tags, directive tags, scripting tags & scriptlets, action tags; JSP pre-defined objects; Including static and dynamic content; Forwarding execution to servlets, JSPs or HTML pages; JSP initialisation and cleanup.

Using Eclipse/WSAD/RAD for JSP Development (if applicable)

Overview; HTML page Ddesigner, creating and editing HTML files; Testing JSPs; Testing and debugging JSPs.

JSP Design Patterns

MVC architecture; Where are JSPs used?; Other JSP design patterns.

More JSP Capabilities

JavaBeans; Using JavaBeans; Form / Bean / JSP interaction; Variable and JavaBean scopes; Invoking a JSP from a servlet; Passing objects from servlet to JSP; Passing JavaBeans from servlet to JSP; Error handling and JSP error pages; FullsShopping cart example.

Custom Tag Overview

Why use custom tags?; How are custom tags implemented?; Custom tag elements, the Tag Library Descriptor (TLD); The Tag Handler Class, using JavaBeans to implement tags.

Tag Files

Defining tag files; Using tag files in your JSP; Using tag files for simple templating.

JavaServer Pages Standard Tag Library (JSTL)

JSTL expression language; Core tags; Internationalisation (I18N) tags; Functions.


© RSM Technology 2019