News

Webinars from Spindustry on SharePoint, MS Teams, and Power BI

Spindustry offers a variety of ways to learn more about solutions to benefit your business. Below is a list of upcoming webinars or pre-recorded sessions that we hope you find helpful.

Spindustry Training Offers SharePoint Governance Consulting

Avoid costly, time consuming mistakes with your SharePoint installation.

Live Instructor-Led Training

The Power to Boost Productivity!


CONTACT US
Training partners

Spindustry Training

spindustrytraining.com - (515) 334-9556

Bookmark and Share

Advanced Java Web Components

Course Code: STT1015
Length: 5 Days
Tuition: $2,394.00

Schedule for this Course

There are no dates scheduled for this course.
If you would like to be added to the wait list for this class Click Here

Course Description:

Java Enterprise Edition is a powerful platform for building web applications. This 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 Java EE technologies and how to leverage the strengths of each, with special focus on Servlets and JSP.  At the same time, you'll be learning about the big picture of Java Enterprise Edition and how to design web applications that are robust, efficient, and maintainable. If you want to deliver an application on the web, you'll find this course essential.

Prerequisites

 

6 months – 1 year of Java programming

Course Outline:

 

Lesson 1: JAVA EE Overview
· Java EE’s Place within Java
· Java EE – Distributed Multitier Applications
· Important J2EE/Java EE 5 APIs
· Commercial Java EE Products
· Common Commercial Java EE App Servers
· Enterprise Applications – The Three Pillars
· Persistent Storage
· Business Logic
· Presentation Logic
· Presentation Logic – Servlets
· Presentation Logic – JavaServer Pages

Lesson 2: JAVA EE Architecture
· Multitiered Architecture
· Web-Based Architecture
· Web-Based Architecture with EJB
· Swing Client Architecture with EJB
· Supporting Both Web Clients and Rich Clients
· Playing Server Games
· SOA – Service Oriented Architecture
· Java EE Roles
· What’s Next?

Lesson 3: How the Web Works
· Clients and Servers
· Client and Server Applications on the Web
· HTML – The Language of the Web
· Basic HTML Tags and a Basic HTML Page
· HTTP and Addressing
· Requests and Responses
· Browsing a Simple Web Page
· Java EE Web Applications
· Web Application Structure

Lesson 4: A Simple Servlet
· Servlets and Dynamic Content
· What are Servlets?
· How a Servlet Runs
· Advantages of Servlets
· Packages and Classes
· Creating a Servlet – The Simplest Way
· A Simple HTTP Servlet
· Declaring and Mapping Servlets

Lesson 5: HTML Forms and HTTP Review   
· HTML Forms
· A Simple Search Form in HTML
· A Simple Form in the Browser
· HTTP Request and Response Details
· GET and POST Methods
· Request Parameters

Lesson 6: How Servlets Work
 · Servlet Interface and Servlet Lifecycle
· Servlet Lifecycle – Initialization
· Servlet Lifecycle – The service() Method
· Important Types for Servlets
· Class Diagram for Servlet Types
· Class GenericServlet
· Requests and Responses
· Important ServletRequest/Response Methods
· Getting Data / Sending Responses
· Getting Data and Sending Response
· HTTP Servlets
· Class Diagram for HTTP Servlet Types
· Class HttpServlet
· HttpServletResponse
· More About web.xml
· Web.xmlElements
· Look at the JavaDoc

Lesson 7: Working with HTTP Servlet Response
· HTTP Responses – Status and Errors
· HttpServletResponse Status/Error Methods
· HTTP Response Headers
· Setting Response Headers
· MIME Types
· Specifying a MIME Type

Lesson 8: Initialization
· Initialization Overview
· The ServletConfig Interface
· The ServletContext Interface
· Declaring and Mapping Servlets
· Servlet Init Parameters
· Retrieving Initialization Parameters
· Web App Init Parameters
· A Problem with SearchServlet
· Null and Empty String Parameters

Lesson 9: Error Handling
· Specifying Error Pages
· Error Page Configuration
· Error Handling

Lesson 10: JAVA Server Pages (JSP)
· Shortcomings of Servlets
· What is a JSP?
· A Very Simple JSP – simple.jsp
·  The Resulting Browser Output
· JSPs Look Like HTML
· JSP Expressions
· Comments
· JSPs are Really Servlets
· Lifecycle of a JSP
· The Generated Servlet
· Generated Code Fragment for simple.jsp
 
Lesson 11: Model View Controller (MVC) Architecture
· Servlet and JSP architecture
· Model 1 Architecture
· Model View Controller (MVC)
· Servlets as the Controller
· JSP as the View
· JavaBeans as the Glue and the Model
 
Lesson 12: Servlets as Controllers
· RequestDispatcher
· Servlets as Controller
· Forwarding to a Resource
· Including Output of Another Resource
· RequestDispatcher Paths
 
Lesson 13: Data Sharing Among Servlets and JSPS
· Object Buckets or Scopes
· Using the Scopes
· JSPs and JavaBeans
· Putting Data on a Scope
· Careful – Servlets are Multi-Threaded
· Predefined JSP Variables – Implicit Objects
· <jsp;useBean>
· <jsp:useBean> Details
· The Other Scopes
· JavaBean Properties
· <jsp:getProperty>
· Jsp:useBean Creates Page Scope References · JSP Mixes Dynamic and Template Data
· JSP Directives
· The include Directive
· <jsp:include> Action
 
Lesson 14: Custom Tag Libraries Overview
· Issues with Vanilla JSP
· Sun’s Solution – Custom Tags
· Custom Tags
· Custom Tag Overview
· Tag Libraries
· Using a Tag Library in a Web Application
· Taglib Definition – How it Works
· More About URIs and Prefixes
 
Lesson 15: JSP Standard Tag Library (JSTL)
· The JSTL
· A Brief Word about JSTL & Jakarta Taglibs
· Introduction to Using JSTL Tags
· Using the c:out Tag to Output Data
· JSTL Expression Language
· Data Objects and the JSTL EL
· Request Parameters and JSTL
· Using the c:out Tag and Bean Properties
· Iterating Over a Collection
· Using the c:forEach Tag for Iteration
· Using the c:url Tag for URLs
· Using the c:param Tag for URL Parameters
 
Lesson 16: HTTP Session Overview
· HTTP is a Stateless Protocol
· Online Shopping with a Stateless Protocol
· Storing Contextual Information
· Hidden Form Fields
 
Lesson 17: Cookies
· Cookie Details
· Accessing Cookies with the Servlet API
· Persistent Cookies and Session Cookies
· Cookie Usability Issues
 
Lesson 18: Sessions
· Servlet/JSP Sessions
· Using Sessions
· How Session Tracking Works
· Sessions and Cookies – How They Work
 
Lesson 19: Error Pages
· Servlet Exceptions and Error Pages
· The Implicit exception Object
· Exception Handling in a JSP
· web.xml – Declarative Exception Handling
· Server Logging
 
Lesson 20: JAVA Scriptlets
· Scriptlets
· Scriptlet Syntax
· How do Scriptlets Work?
· Generated Code Fragment for simple.jsp
· When to Use Scriptlets
· Declarations
 
Lesson 21: JSTL Actions
· JSTL Overview
· JSTL Tag Libraries at a Glance
· JSTL Expression Language (EL)
· JSP Expressions vs. JSTL EL
· The State of JSTL
· Custom Tag (Including JSTL) Architecture
· More About JSTL URIs
· JSTL Prefixes
· Core Actions
· Formatting Actions
· SQL Actions
· XML Actions
 
Lesson 22: JSTL Expression Language (EL)
· JSTL Expression Language (EL)
· EL and JSTL Action, Made for Each Other
· EL Syntax
· EL Identifiers
· EL Operators
· . and [] Operator Usage
· JSTL-EL Implicit Objects
· Implicit Object: pageContext
· JSTL-EL Literal Values
 
Lesson 23: Putting JSTL and EL in JSP
· Putting JSTL and EL in JSP
· Using <c:if>
· <c:if> Test Expressions
· <c:choose>
· More on <c:forEach>
· <c:set>
· <c:url>
· <fmt:formatDate>
· <fmt:formatNumber>
· JSTL-EL Resources
 
Lesson 24: JSP 2.0
· Expression Language (EL)
· Functions and the JSTL Function Library
· JSTL 1.1 Functions Library
· JSTL Function Library
· New EL Operator
· JSP Pages as XML Documents
· Improved Error Handling in JSP Pages
· Using ErrorData
· Creating Custom Tags
 
Lesson 25: JAVA EE Security Overview
· Security Requirements
· Java EE Security
· Web Tier Security in Java EE
· Transport Level Security with HTTPSSSL
 
Lesson 26: Declarative Security
· Declarative Security
· Roles
· Specifying Security Constraints
· Security Constraints – Deployment Descriptor
· Mapping Users to Roles
· Security – The Big Picture
 
Lesson 27: Web Authentication
· Authentication
· HTTP Basic Authentication
· HTTP Basic Authentication on the Browser
· Configuring Basic Authentication
· Basic Authentication Pros and Cons
· Form Based Authentication
· Using Form Based Authentication
· Form Based Authentication Pros and Cons
· Digest Authentication
· Digest Authentication Pros and Cons
· HTTPS Client Authentication
 
Lesson 28: Programmatic Security
· Programmatic Security
· Programmatic Security – HttpServletRequest
 
Lesson 29: Design Issues
· Design Issues
· Divide and Conquer
· Minimize Network Overhead
· Scalability – Clustering
· Sessions and Clustering
· Scalability – Separating Static Content
· Scalability – Java Virtual Machine
· Scalability – CPUs and 64 Bit Machines
· Maintainability – Write Your JSPs Well
· Use the Technology Wisely
· Use a Framework
 
Lesson 30: JAVA Server (JSF) Overview
· JavaServer Faces
· JSF Architecture
· JSF Capabilities
· JSF Componenets
· The UI Runs on the Server
· Event Handling
· Process Flow
· JSF Advantages
·  JSF Disadvantages
 
Lesson 31: Servlet Filters
· Servlet Filter Overview
· What Can Filters Do
· Filter API
· Using Filters
· Filter Processing
· Filter Chain
· A Simple Filter
· Filter is Mapped in the web.xml File
· How A Filter can Modify a Request or Response
· The Way a Response Normally Works
· Manipulating the Response
· Wrapping the Response
 
Lesson 32: Relational Database and JDBC Overview
· The Power of Information
· Relational Database overview
· Relational Database Description
· Database Table Relationships
· Web-Based Architecture
· Database Access Wish List
· JDBC Overview
· JDBC Characteristics
· JDBC Specification and Packages
 
Lesson 33: JDBC Architecture and API
· JDBC Architecture
· The Fundamental JDBC API
· The DriverManager Class
· What is a JDBC Driver?
· Drivers Must be Loaded
· Naming Databases with URLs
 
Lesson 34: Database Connections
· Database Connections, Connection Interface
· Establishing a Database Connection
· The DatabaseMetaData Interface
· Database Exceptions – SQLExceptin
· Wrapped Database Exceptions – Illustrated
· Database Exceptions – SQLWarning
· Closing JDBC Objects
· try-catch May Not be Good Enough
· Using finally to Close JDBC Objects
 
Lesson 35: Data Access Objects and O-R Mappings
· Data Access Objects – Rationale
· Value Objects – Rationale
· Object-Relational (O-R) Mappings
· JavaTunes O-R Mapping
· Value Objects and JavaBeans
· Data Access Object – Illustrated
 
Lesson 36: Processing Database Data
· Creating Statements
· The Statement Interface
· The ResultSet Interface
· Extracting Data from a ResultSet
· SQL-Java Type Mappings
· Dealing with Result Set NULL Values
· Closing JDBC Objects – Revisited
· Using finally to Close JDBC Objects
· Prepared Statements
· Benefits of Prepared Statements
· Calling Database Stored Procedures
· The CallableStatement Interface
· Update Statements
· Transaction – Overview
· Controlling Transactions in JDBC
· Storing Dates
 
Lesson 37: JDBC Driver Types
· JDBC Driver Types
· Type 1 – JDBC-ODBC Bridge
· Type 2 – Native API, Part Java
· Type 4 – Native Protocol, Pure Java
· Type 3 – JDBC-Net, Pure Java
 
Lesson 38: JAVA Persistence API
· Other Database Access Technologies
· O-R Mapping Tools
· Java Persistence API Overview
· Entity Classes
 
Lesson 39: Advanced JDBC Features
· Advanced JDBC Features
· Batch Updates
· Methods for Performing Batch Updates
· Scrollable, Updatable Result Sets
· Result Set Scrollability Types
· Result Set Concurrency Types
· Getting Advanced Result Set Functionality
· Rowset Overview
· The RowSet Interface
· Rowset Implementation
· SQL3 User-Defined types (UDTs)
· Mapping a UDT to a Java Type
· BLOBs and CLOBs
· What is a Blob Object
· Getting the Actual BLOB Data
 
Lesson 40: System Design Choices
· User Action – JavaTunes and Catalog Search
· The Roles of “Client” and “Server”
· The Simple Approach – Illustrated
· The Simple Approach – Analysis
· Using a JSP for the View – Illustrated
· Using a Data Access Object – Illustrated
· A More Modular Approach – Analysis
· Using EJB – Illustrated
· Using EJB – Analysis
· Using Web Services – Illustrated
· Using Web Services – Analysis
 
Lesson 41: Database Access
· Java EE and JDBC
· Why DataSource?
· How do Clients get Access to a DataSource?
· JNDI – Java Naming and Directory Interface
· EJB Container Binds a Reference into JNDI
· Client Looks up Reference in JNDI
· JNDI Overview
· JNDI Name Tree
· JNDI Tree Structure
· JNDI in the Java EE Platform
· Defining a Resource Reference in web.xml
· The Context Interface
· Obtaining a DataSource by Lookup
· Mapping the ENC Name to the JNDI Name
· ENC and JNDI – Putting it all Together
· Connection Pooling
· Pooled Connections – Illustrated
· Getting a Pooled Connection – Illustrated
· Closing a Pooled Connection – Illustrated
· Connection Pooling Implementations
· Statement Pooling
· Statement Pooling – Illustrated
· Getting a Pooled Statement – Illustrated
· Closing a Pooled Statement – Illustrated
· Be Neat
 
Lesson 42: EJB Overview
· What is EJB
· EJB Goals
· Types of Enterprise JavaBeans
· Java Persistence API
· JPA Goals
· EJB and Java EE
· ENB in Java EE Architecture
· EJB Transaction Support
· EJB 3.0 Overview
· EJB 3.0 Goals
· Session Bean Usage
· Persistent Entity Usage
· MDB Usage
· Benefits of Using EJB
· Issues with EJB
 
Lesson 43: Web Services Overview
· Service Oriented Architecture )SOA)
· The Evolution of Computing
· SOA Concepts
· Some Advantages of SOA
· Some Issues with SOA
· Web Services Defined
· Value Proposition
· Web Services Defined
· TW-* Web Services Specifications
· The Web Services Stack
· Web Services Tacks
· Architectural Details
· SOAP Concepts
· WSDL Concepts
· Java Web Services (JWS) Standards
· Defining a Web Service
· Writing a JAX-WS Client
 
Lesson 44: JMS­ Overview
· What is Messaging?
· Loose Coupling
· When is Messaging Used?
· Two Messaging Models
· Publish/Subscribe – Illustrated
· More on Publish/Subscribe
· Point-to-Point – Illustrated
· More on Point-to-Point (P2P)
· Overview of JMS API
· What is Java Message Service?
· API Structure
· JMS Interfaces
· Administered Objects
· Administered Objects and JNDI – Illustrated
· Client Workflow
· Synchronous Queue Consumer Client
· Asynchronous Queue Consumer Client
· JMS Message Types

 

back to top