JEE Solutions Developer

This is the umbrella program covering every aspect of the Java - JEE Platform. Right from Core Java, Web Designing to Web Services, through Struts Spring and Hibernate.
It has the below listed components:

This program teaches students basics of programming - centered around Java and the web. It introduces them to the world of web programming, client-server architectures, software frameworks, coding techniques, developpment tools and their practical implementation.

Duration : 6 Months

Program Contents

Getting Started with J2SE

  • What is Java?
  • How to Get Java
  • A First Java Program
  • Compiling and Interpreting Applications
  • The JDK Directory Structure
Language Fundamentals
  • A Java Program
  • If Statements
  • A First Java Program
  • Loop Statements
  • Syntax Details
  • Primitive Datatypes
  • Variables
  • Expressions in Java
  • Strings
  • Arrays
  • Enhanced for Loop
Objects and Classes
  • Defining a Class
  • Creating an Object
  • Instance Data and Class Data
  • Methods
  • Constructors
  • Access Modifiers
  • Encapsulation
Using Java Objects
  • Printing to the Console
  • printf Format Strings
  • StringBuilder and StringBuffer
  • Methods and Messages
  • toString
  • Parameter Passing
  • Comparing and Identifying Objects
  • Destroying Objects
  • Using the Primitive-Type Wrapper Classes
  • Autoboxing
Inheritance in Java
  • Inheritance
  • Inheritance in Java
  • Casting
  • Method Overriding
  • Polymorphism
  • super
  • The Object Class
Advanced Inheritance and Language Constructs
  • Enumerated Types
  • Abstract Classes
  • Interfaces
  • Comparable
  • Collections
  • Generics
Packages
  • Packages
  • The import Statement
  • Static Imports
  • CLASSPATH and Import
  • Defining Packages
  • Package Scope
Exception Handling
  • Exceptions Overview
  • Catching Exceptions
  • The finally Block
  • Exception Methods
  • Declaring Exceptions
  • Defining and Throwing Exceptions
  • Errors and RuntimeExceptions
  • Assertions
Input and Output Streams
  • Overview of Streams
  • Bytes vs. Characters
  • Converting Byte Streams to Character Streams
  • File Object
  • Binary Input and Output
  • PrintWriter Class
  • Reading and Writing Objects
  • Basic and Filtered Streams?
Core Collection Classes
  • The Collections Framework
  • The Set Interface
  • Set Implementation Classes
  • The List Interface
  • List Implementation Classes
  • The Queue Interface
  • Queue Implementation Classes
  • The Map Interface
  • Map Implementation Classes
Collection Sorting and Tuning
  • Using Java 5.0 Features with Collections
  • Sorting with Comparable
  • Sorting with Comparator
  • Sorting Lists and Arrays
  • Collections Utility Methods
  • Tuning ArrayList
  • Tuning HashMap and HashSet
Inner Classes
  • Inner Classes
  • Member Classes
  • Local Classes
  • Anonymous Classes
  • Instance Initializers
  • Static Nested Classes
Introduction to Swing
  • AWT and Swing
  • Displaying a Window
  • GUI Programming in Java
  • Handling Events
  • Arranging Components
  • A Scrollable Component
  • Configuring Components
  • Menus
  • Using the JfileChooser
Swing Events and Layout Managers
  • The Java Event Delegation Model
  • Action Events
  • List Selection Events
  • Mouse Events
  • Layout Managers
  • BorderLayout
  • FlowLayout
  • GridLayout
  • BoxLayout
  • Box
  • JtabbedPanel
Introduction to JDBC
  • The JDBC Connectivity Model
  • Database Programming
  • Connecting to the Database
  • Creating a SQL Query
  • Getting the Results
  • Updating Database Data
  • Finishing Up
JDBC SQL Programming
  • Error Checking and the SQLException Class
  • The SQLWarning Class
  • JDBC Types
  • Executing SQL Queries
  • ResultSetMetaData
  • Executing SQL Updates
  • Using a PreparedStatement
  • Parameterized Statements
  • Stored Procedures
  • Transaction Management
Advanced JDBC
  • JDBC SQL Escape Syntax
  • The execute() Method
  • Batch Updates
  • Updatable Result Sets
  • Large Objects
  • Working with Savepoints
  • RowSets
  • CachedRowSets
  • DataSources
Networking with Sockets
  • Clients and Servers
  • Ports, Addresses and Protocols
  • The Socket Class
  • Communication Using I/O
  • Servers
  • The ServerSocket Class
  • Concurrent Servers
  • The URL Class
  • The URLConnection Class
Remote Method Invocation
  • Distributed Applications
  • Stubs
  • Steps to Create a Remote Object
  • An RMI Client
  • An RMI Server
  • RMI Classes and Interfaces
  • Class Distribution
  • RMI Utilities
  • Parameter Passing and Serialization
Advanced RMI
  • Client Callbacks
  • Dynamic Class Loading
  • Activation
  • Activatable Objects
  • Registering Activatable Objects
  • Security and Activation
  • JNDI and RMI Registry
  • RMI-IIOP
Introduction to Threads
  • Non-Threaded Applications
  • Threaded Applications
  • Creating Threads
  • Thread States
  • Runnable Threads
  • Coordinating Threads
  • Interrupting Threads
  • Runnable Interface
  • ThreadGroups
Thread Synchronization and Concurrency
  • Race Conditions
  • Synchronized Methods
  • Deadlocks
  • Synchronized Blocks
  • Thread Communication — wait()
  • Thread Communication — notify()
  • Java 5.0 Concurrency Improvements
  • Thread-Aware Collections
  • Executor
  • Callable
Java Performance Tuning
  • Is Java Slow?
  • Don't Optimize Until You Profile
  • HotSpot Virtual Machine
  • Garbage Collection Concepts
  • Garbage Collection Generations
  • Garbage Collection in Java 5.0
  • Object Creation
  • String, StringBuffer, and StringBuilder
  • Synchronized
  • Inline methods
  • Tuning Collections


HTML
  • What is HTML
  • Layouts
  • Images
  • Tables
  • Anchors
  • Embedded Objects
  • IDEs
  • Frames
  • Web Sites
CSS
  • What is CSS
  • Styling
  • Syntax
  • ID and Class
  • Grouping
  • Floating
  • Nesting
  • Navigation
  • Display
JavaScript
  • Introductions
  • Statements
  • Variables
  • Operators
  • Popups
  • Loops
  • If-Else
  • Exception Handling
  • Events
  • Validation

Web Applications
  • The World Wide Web
  • HTML
  • Web Servers
  • HTTP
  • Dynamic Web Pages
  • CGI
  • Java Web Technologies
  • Servlets
  • JSP
J2EE
  • J2EE Overview
  • Client Tier
  • Middle Tier
  • Application Server Tier
  • The J2EE Platform
  • J2EE Skills
Servlet Basics
  • Browsers, Servers and Servlets
  • The Basic Servlet
  • The Servlet Life Cycle
  • The HttpServlet Approach
  • More do Methods
  • Threading in Servlets
  • Debugging
Request and Response
  • Request and Response Basics
  • The HttpServletRequest Object
  • Request Headers
  • Status Codes
  • Response Headers
  • Ensuring Valid Characters
  • Session Tracking
  • Understanding Cookies
  • The Cookie Class
  • Cookie Properties
Session Tracking
  • The HttpSession Class
  • Encoding URLs
  • Terminating Sessions
Web Applications
  • Web Application Components
  • ServletContext
  • Forward and Include
  • Supporting Files
  • Deployment Descriptor
  • Deployment Descriptor Elements
  • Security - Authentication
  • Security in the J2EE Application Server
  • Security - Authorization
Getting Started with JSP
  • Dynamic Web Content
  • The JSP Solution
  • JSP Syntax
  • JSP Deployment
  • Variables and Expressions
  • Implicit Objects
  • page and taglib Directives
  • Include and Forward
  • Exception Handling
JSP Architecture
  • JSP Containers
  • Page Translation
  • Types of JSP Content
  • Directives
  • Content Type
  • Buffering
  • Scripting Elements
  • JSP Expressions
  • Standard Actions
  • Custom Actions and JSTL
  • Objects and Scopes
  • Implicit Objects
  • JSP Lifecycle
Scripting Elements
  • Translation of Template Content
  • Scriptlets
  • Expressions
  • Declarations
  • Dos and Don'ts
  • Implicit Objects for Scriptlets
  • The request Object
  • The response Object
  • The out Object
Interactive JSP Applications
  • HTML Forms
  • Reading CGI Parameters
  • JSPs and Java Classes
  • Error Handling
  • Session Management
  • The Session API
  • Cookies and JSP
Forms and JavaBeans
  • HTML Forms
  • JavaBeans
  • JavaBeans and JSP
  • Bean Properties
  • Property Types
  • Properties and Forms
  • Bean Scopes
Using JavaBeans
  • Separating Presentation and Business Logic
  • JSP Actions
  • JavaBeans
  • Working with Properties
  • Using Form Parameters with Beans
  • Objects and Scopes
  • Working with Vectors
Advanced JSP Features
  • Web Components
  • Forwarding
  • Inclusion
  • Passing Parameters
  • Custom Tag Libraries
  • Tag Library Architecture
  • Implementing in Java or JSP
  • Threads
  • Strategies for Thread Safety
  • XML and JSP
  • JSP for Web Services
Introduction to JSTL
  • JSP Expression Language
  • Expression Language Implicit Objects
  • What is JSTL?
  • Core Tags - Conditionals
  • Core Tags - Iteration and Import
  • XML Manipulation Tags
  • Internationalization Tags
  • SQL Tags
The Expression Language and the JSTL
  • Going Scriptless
  • The JSP Expression Language
  • EL Syntax
  • Type Coercion
  • Error Handling
  • Implicit Objects for EL
  • The JSP Standard Tag Library
  • Role of JSTL
  • The Core Actions
  • Using Beans with JSTL
  • The Formatting Actions
  • Scripts vs. EL/JSTL
JSTL Overview
  • The JSP Standard Tag Library
  • The JSP Expression Language
  • EL Syntax
  • Type Coercion
  • Error Handling
  • Implicit Objects for EL
  • JSTL Namespaces
  • Using JSTL in a Page
  • The Core Actions
  • Going Scriptless
  • Object Instantiation
  • Sharing Objects
  • Decomposition
  • Parameterization
The Core Actions
  • The JSTL Core Library
  • Gotchas
  • Conditional Processing
  • Iterative Processing
  • Iterating Over Maps
  • Tokenizing Strings
  • Catching Exceptions
  • Resource Access
The Formatting and i18n Actions
  • The JSTL Formatting Library
  • Locales
  • Determining Locale
  • Time Zones
  • Setting Locale and Time Zone
  • Formatting and Parsing Dates
  • Formatting and Parsing Numbers
  • Internationalization
  • Working with Resource Bundles
  • Supporting Multiple Languages
The SQL Actions
  • The JSTL SQL Library
  • Using Relational Data
  • Connecting with a DriverManager
  • Connecting via a DataSource
  • The Result Interface
  • Making a Query
  • Inserts, Updates and Deletes
  • Parameterized SQL
  • Transactions
The XML Actions
  • The JSTL XML Library
  • Using XML
  • XML Data Sources
  • Parsing and Addressing
  • Using XPath in JSTL
  • XPath vs. EL
  • XPath Context
  • Implicit Objects for XPath
  • Conditional Processing
  • Iterative Processing
  • Changing XPath Context
  • Working with XML Namespaces
  • Using XSLT
  • Chaining Transformations
  • Reading XML from the Request Body
  • XML and SOAP Web Services
Introduction to JDBC
  • The JDBC Connectivity Model
  • Database Programming
  • Connecting to the Database
  • Creating a SQL Query
  • Getting the Results
  • Updating Database Data
  • Finishing Up
JDBC SQL Programming
  • Error Checking and the SQLException Class
  • The SQLWarning Class
  • The Statement Interface
  • The ResultSet Interface
  • Updatable Result Sets
  • JDBC Types
  • Executing SQL Queries
  • ResultSetMetaData
  • Executing SQL Updates
  • Transaction Management
  • JDBC SQL Escape Syntax
Advanced JDBC
  • Using a PreparedStatement
  • Parameterized Statements
  • Stored Procedures
  • ResultSets from Stored Procedures
  • The execute() Method
  • Batch Updates
  • RowSets
  • DatabaseMetaData
  • Large Objects
  • The DriverManager Class
  • Types of JDBC Driver
DataSources
  • DataSources
  • onnection Pools in the J2EE Application Server
  • Data Sources in the J2EE Application Server
  • Connecting to a DataSource
Introduction to JavaMail
  • Mail Systems and JavaMail
  • The javax.mail Packages
  • Establishing a Session
  • The Message Interface
  • Sending a Message
  • Message Stores
  • Mail Folders
  • Multipart Messages

Architecture Overview
  • What is EJB?
  • EJB Goals
  • Types of Enterprise JavaBeans
  • Java Persistence API
  • EJB and Java EE (Enterprise Editions)
  • EJB in Java EE Architecture
  • SOA and EJB
  • SOA with Web Services and EJB
  • EJB 3.0
  • EJB 3.0 Overview
  • EJB 2.X Problems
  • EJB 3.0 Goals
  • Enterprise Applications
  • Containers and Objects
  • Three Containers
  • Remote Connectivity
  • Scalability and Availability
  • Security
  • Transaction Control
  • Inversion of Control
  • The Bean-Type Annotations
  • Dependency Injection
  • The @EJB Annotation
  • The Administration Console
  • Deploying EJB Applications
  • Configuring Data Sources
  • Development Cycle and Roles
Session Bean Usage
  • Persistent Entity Usage
  • MDB Usage
  • Session Bean Overview
  • What are Session Beans?
  • Stateless Session Beans (SLSB)
  • Stateful Session Beans (SFSB)
  • Session Bean can be Distributed
  • Defining a Session Bean
  • Stateless Session Bean Definition
  • Calculator Remote Business Interface
  • Remote and Local Business Interface
  • Calculator Bean Local Business Interface
  • A Brief Note on Annotations
  • Interface/Implementation Split
  • Stateful vs. Stateless
  • The @Stateless Annotation
  • Lifecycle and State Transitions
  • Session Context
  • The @Stateful Annotation
  • State Transitions
  • Singletons and Pools
  • How Annotations Work
  • Annotation Definition
  • Using Annotations
  • What Else is Needed?
Packaging and Deployment
  • J2EE Packaging
  • EJB-JAR File
  • Deployment Descriptor (DD)
  • Deployment Descriptors in EJB 3
  • EJB-JAR File Structure
  • Enterprise Archive (EAR File)
  • application.xml File
  • Server Deployment
  • EJB Container
  • The EJB Container
  • Server Deployment
JNDI Overview
  • How do Remote Clients get EJB Access?
  • JNDI - Java Naming and Directory Interface
  • EJB Container Binds a Reference into JNDI
  • Client Looks up Reference in JNDI
  • JNDI Tree Structure
  • JNDI API
  • The Context Interface
  • The InitialContext Class
  • Specifying the InitialContext Properties
  • Using JNDI
  • EJB Client
  • Client View of a Session Bean
  • Client Invocation of a Session EJB
  • PortableRemoteObject and Casting
  • Running a Client
Dependency Injection
  • Dependency Injection
  • The JavaTunes Online Music Store
  • An EJB Referencing Another EJB
  • CatalogMaintenance
  • Injection of CatalogMaintenance
  • Interdependent Systems
  • The Factory Pattern
  • The Service Locator Pattern
  • Dependency Injection
  • Injection by Magic?
  • Injection by Type
  • Injection by Name
  • The Component Environment
  • Deployment Descriptors
  • Impact on Stateful Session Beans
  • JNDI
  • Connecting to a Remote Bean
  • Using mappedName
  • Who Can Declare Dependencies
  • What is Happening
Deployment Descriptors
  • More about Deployment Descriptors
  • The XML Deployment Descriptor
The EJB Environment
  • Issues with Obtaining Resources
  • Referencing Resources External to EAR
  • Reference and Deployment Descriptor Usage
  • Resolving a JNDI Name
  • Simple Environment Entries
  • Declaring Simple Environment Entries
  • Setter Injection
  • Resource Manager Connection Factories
  • More on the Enterprise Bean Environment
  • The Environment is a Level of Indirection
  • Looking up Resources in the Environment
  • Looking up via EJBContext
  • Looking up via JNDI API
  • More on the @Stateless Annotation
  • More on the @EJB Annotation
  • More on the @Resource Annotation
  • Deployment Descriptor vs Annotation
Stateless Session Bean Lifecycle and Interceptors
  • Stateless Session Bean State Diagram
  • Lifecycle of SSB
  • Client Call of a Stateless SB Method
  • Interceptors
  • Business Method Interceptors
  • InvocationContext Interface Details
  • Interceptor Method Details
  • Interceptor Class
  • Using Interceptor Classes
  • Method Level Interceptors
  • Lifecycle Callback Interceptors
  • Lifecycle Interceptor in the Bean Class
  • Lifecycle Interceptor in a Separate Class
  • Stateful Session Beans
  • Stateful Session Bean (SFSB) Overview
  • Coding a Stateful Session Bean
  • Stateful Session Bean Clients
  • Stateful Session Bean Removal
  • Stateful Session Passivation/Activation
  • When to Use Stateful Session Beans
  • @PrePassivate and @PostActivate Callbacks
  • Stateful Session Bean State Diagram
The Timer Service
  • The EJB Timer Service
  • The TimerService Interface
  • The Timer Interface
  • Timeout Methods
  • Timer Handles
  • Transactions and Timers
  • Bean Requirements
  • The javax.ejb.Timer Interface
  • The javax.ejb.TimerService Interface
  • How the Timer Works
  • Issues with Using the Timer Service
Overview of Messaging Systems
  • 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)
  • Message Delivery - Push versus Pull
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
  • Message Header Fields
Associations
  • Associations, Cardinality, and Ownership
  • Annotations
  • Unidirectional vs. Bidirectional
  • The @Embedded Annotation
Message-Driven Beans
  • J2EE Message Producers and Consumers
  • Message-Driven Bean (MDB) Overview
  • Goals of Message-Driven Beans
  • MDB Consumption of a Message
  • @MessageDriven Details
  • Activation Configuration Properties
  • Specifying a Destination for an MDB
  • Specifying a Destination Using a DD
  • Asynchronous Messaging
  • The Java Message Service
  • Message Types
  • Injecting JMS Queues
Message-Driven Bean Lifecycle
  • Lifecycle Overview
  • MDB State Diagram
  • Interceptor Methods
Interceptors
  • EJB and AOP
  • The Intercepting Filter Pattern
  • EJB Interceptors
  • Annotating Interceptor Classes
  • The InvocationContext Interface
  • Binding Interceptors to Targets
  • Shared Lifecycle and Context
  • Interceptors and MDBs
Transaction Definition
  • Transaction Overview
  • Transaction Lifecycle
  • Transactions Clarify Systems
Transactional System Overview
  • Transactional System Components
  • Transactional Object
  • EJB Transaction Support
Transactions
  • ACID Transactions
  • The EntityTransaction Interface
  • EJB Transaction Attributes
  • Persistence Contexts
  • Extended Persistence Contexts
  • Isolation Levels
  • Application-Managed Persistence
  • The SessionSynchronization Interface
  • Impact on JMS and MDBs
Transactions in EJB
  • EJB Declarative Transaction Management
  • Transactional Scope
  • Specifying Transaction Attributes
  • NOTSUPPORTED
  • SUPPORTS
  • REQUIRED
  • REQUIRESNEW
  • MANDATORY
  • NEVER
  • Beans Have a Say in Transactions
  • Beans can be Notified of Transaction Status
  • Transaction Attributes – Some Choices
  • Explicit/Bean-Managed Transactions
  • Transaction Isolation Levels
  • Multi-Process TX and Two Phase Commit
Security in EJB
  • Authentication and Authorization
  • Declarative Authorization
  • Abstract Roles
  • Concrete Realms
  • Configuring User Realms in GlassFish
  • Programmatic Authorization
  • Run-As Identity
  • Security Requirements
  • J2EE Security
  • Roles
  • J2EE Security Overview
  • EJB Security Overview
  • Authentication
  • Programmatic Security
  • Transport Level Security with SSL
Exception Handling
  • Java Exceptions
  • Remote Exceptions
  • EJB Exception Handling
  • System Exceptions
  • Application Exceptions
  • Transaction Control
  • Exception Hierarchy
  • Application Exceptions in EJB
  • Defining Application Exceptions
  • Container Handling of Application Exception
  • Bean Throwing of Application Exception
  • Client Handling of Application Exceptions
  • System Exceptions Indicate Failure
  • Container Handling of System Exception
  • Client Handling of System Exceptions
EJB 3 Best Practices
  • When to Use EJB
  • Keep Business Interfaces Coarse Grained
  • Session Façade Structure
  • Use Container-Managed Transactions
  • Transaction Duration
  • Local and Remote Business Interface
  • Tuning
  • Session Bean Tuning
  • Clustering
  • Clustering Session Beans
JPA Overview
  • The Issues with Persistence Layers
  • Object-Relational Mapping (ORM) Issues
  • Issues with JDBC Alone
  • Java Persistence API Overview
  • JPA Benefits
  • Java Persistence Environments
Mapping a Simple Class
  • Entity Classes
  • Entity Class Requirements
  • The Entity Declaration
  • The Event Class
  • The Id Property
  • Filed Access or Property Access
  • The EVENTS Table
  • Generated Id Property
  • Mapping Properties
  • Basic Mapping Types
  • Persisting to the Database
Entities
  • The Java Persistence API
  • Persistence Annotations
  • Configuration by Exception
  • ORM Annotations
  • The EntityManager
  • Acquiring and Using the EntityManager
  • persistence.xml
  • @Enumerated and @Temporal Types
Entity Manager and Persistence Context
  • The Entity Manager and Persistence Context
  • The EntityManager
  • The EntityManager Interface
  • Persistence Unit
  • Injecting an EntityManager
  • Retrieving Persistent Objects
  • Container-Managed Entity Manager
  • The Persistence Unit
  • persistence.xml
Inserting and Updating
  • Transient, Persistent, Detached Instances
  • Removed Instances
  • Persisting a New Entity
  • Synchronization to the Database
  • Updating a Persistent Instance
Querying and Java Persistence Query Language (JPQL)
  • Java Persistence Query Language
  • Executing a Query
  • Where Clause
  • Query Parameters
  • Using Query Parameters
  • Named Queries
  • OO Query Languages
  • The FROM Clause and Directionality
  • The WHERE Clause
  • The SELECT Clause
  • Joins
  • Aggregates and Grouping
  • Ordering
Mapping Relationships
  • Object Relationships
  • Mappings Overview
  • Unidirectional Many-To-One Relationship
  • The Table Structure - Many-To-One
  • The Owning Side
  • @JoinColumn
  • Bidirectional One-To-Many Relationship
  • Mapping the One-To-Many Relationship
  • Using the Relationship
  • More on the Inverse Side
  • Other Types of Relationships
  • Lazy and Eager Loading
  • Cascading Operations
  • Queries Across Relationships
Mapping Inheritance
  • Entity Inheritance
  • Details of Entity Inheritance
  • Joined (Table per Subclass)
  • Entity Definitions for Joined
  • Joined: Pros and Cons
  • Single Table Mapping Strategy
  • Table per Concrete Class
Versioning
  • Optimistic Locking / Detached Instances
  • Versioning
More on Querying
  • Projection Queries
  • Aggregate Queries
  • Bulk Update and Delete
  • Native SQL Queries
Embedded Objects
  • Using Embedded Objects
  • Embeddable Class
Java Persistence with Java SE
  • Using JPA with Java SE
  • Java SE APIs

Web Applications
  • The World Wide Web
  • HTML
  • Web Servers
  • HTTP
  • Dynamic Web Pages
  • CGI
  • Java Web Technologies
  • Servlets
  • JSP
Ajax Overview
  • Rich Internet Applications
  • What are Rich Internet Applications?
  • RIA Technologies
  • Ajax Introduction
  • What is Ajax?
  • The Ajax Difference
  • Ajax, JavaScript, DHTML, and More
  • XMLHttpRequest
  • How Ajax Works
  • Overview of Ajax Technologies
JavaScript Basics
  • Java Script Introduction
  • What is JavaScript
  • Exploring JavaScript
  • JavaScript Variables
  • JavaScript - Writing to the Web Page
  • JavaScript PopUp Boxes
  • JavaScript Functions
  • External JavaScript Files
  • Functions as Data
  • Standard JavaScript Functions
  • Accessing and Modifying HTML Elements
  • A More Complex HTML Page
  • Accessing Elements via the document Object
  • The innerHTML Property
XMLHttpRequest
  • XMLHttpRequest Basics
  • More about XMLHttpRequest
  • Creating an XMLHttpRequest Object
  • Submitting a Request
  • XMLHttpRequest Properties
  • Asynchronous Request
  • Handling an Asynchronous Response
  • Submitting a Request
  • XMLHttpRequest Properties
  • Asynchronous Request
  • Handling an Asynchronous Response
  • The readyState Property
  • onreadystatechange Event Handler
  • XMLHttpRequest Methods
Servlets and JSP with Ajax
  • Overview of Servlets
  • Java EE and Web Applications
  • Simple Web-centric Architecture
  • Java EE Web Applications
  • Web Application Structure
  • Using Servlets
  • A Simple HTTP Servlet
  • How a Servlet Works
  • The Web Archive (war) File
  • Deploying Web Applications
  • Servlets and Ajax
  • Accessing the Servlet Using Ajax
  • A Servlet Handling a Post Request
  • Overview of JavaServer Pages (JSP)
  • What is a JSP?
  • A Very Simple JSP - simple.jsp
  • JSPs Look Like HTML
  • JSP Expressions
  • JSPs are Really Servlets
  • Lifecycle of a JSP
  • Object Buckets or Scopes
  • Predefined JSP Variables - Implicit Objects
  • Working with jsp:useBean
  • More jsp:useBean
  • How a Servlet Works With a JSP
  • Issues with JSP
  • Custom Tags
  • Custom Tags and Tag Libraries
  • The JSTL
  • taglib Directive in JSP
  • A Servlet and JSP Cooperating
More JavaScript and Ajax
  • Browser Events
  • Event Based programming
  • Event Handlers
  • Defined Browser Events
  • Defined Events
  • Form Validation
  • onload and onunload Events
  • Using Ajax and Events
  • JavaScript Objects and Arrays
  • JavaScript Objects
  • Creating JavaScript Objects
  • Workign with Objects and Functions
  • Working with Object Properties
  • Arrays in JavaScript
  • Working with Arrays
  • Array methods
  • Objects as Arrays
  • Classes in JavaScript
  • javaScript Constructors
  • The new Operator
  • More on Constructors
  • The Object Class
  • The prototype Property
  • Properties of the Prototype
  • A More Complete Class
  • Modules and Namespaces
  • Utility Modules
Client Side Frameworks
  • Framework Overview
  • No Need to Reinvent the Wheel
  • Capabilities of Client Side JavaScript Libraries
  • General Library Capabilities
  • Some Client Side JavaScript Libraries
  • Prototype Overview
  • About Prototype
  • Utility methods and DOM Extensions
  • Utility methods of Element Class
  • The $() Utility Function
  • Using $ and the DOM Extensions
  • Prototype Ajax Support
  • Ajax.Request
  • Ajax.Request - Additional Options
  • Ajax.Updater
  • Other Prototype Capabilities
  • Much More Capability
  • script.aculo.us Overview
  • Using script.aculo.us
  • The Scriptaculous Autocompleter
  • Other Frameworks and Libraries
  • Some Well Known Frameworks
  • Dojo Functionality
  • dojo.xhr Functions
  • Using dojo.xhrGet()
  • Dojo.xhrGet Error Handling
  • Some Issues with Dojo
  • Yahoo User Interface Toolkit (YUI)
  • The YUI Dom Class
  • YUI and Ajax
  • TabView and TreeView
  • Rich Text Editor and Calendar Control
  • Other YUI Capabilities
  • The Google Ajax Search API
  • Google Search API Code
  • Google Search Page Display
  • Much More Capability
  • Google Maps API
  • Maps API Display
  • Additional Google Maps API Capability
Cascading Style Sheets
  • Issues with Formatting in HTML
  • Cascading Style Sheets (CSS)
  • Declaring Style Information
  • Style Sheets
  • Using Style Sheets
  • Resulting Display
  • The class Selector
  • Descendant Selectors
  • ID Selectors
  • Display and Visibility Style Properties
  • Other Style Properties
  • Scripting Styles
  • Scripting Classes
  • The 'Cascading' in CSS
JSON (JavaScript Object Notation)
  • What is JSON
  • Review of JavaScript Literals
  • Arrays and More Complex Objects
  • JSON Details
  • Creating JSON Strings in JavaScript
  • Parsing JSON Strings in JavaScript
  • Parsing Strings with JSON.parse()
  • JSON on the Server
  • Creating JSON Text on the Server
  • JSONObject and JSON
  • JSONArray
  • Creating JSON Text from POJOs
  • Creating jSON Text from Collections
  • Dealing with Dates
  • Custom Date Serialization
  • JSONSerializer
  • JSONSTringer
  • Other json-lib Capabilities
  • Autocomplete Example Using JSON
  • An Input Field Generating Ajax Request
  • Producing JSON in a Servlet
  • JavaScript Code Constructing Suggestions
  • Accessing the JSON Data We Want
  • JavaScript Code Constructing the Suggestions
  • Autocomplete at Work
  • Other JSON Tools
  • The JSON Universe
XML and Ajax
  • XML Overview
  • What is XMl?
  • The Underlying Theme of XML
  • JavaTunes Purchase order Document - Body
  • The Document Body and Elements
  • Attributes
  • Working with XML
  • Working with XML and Ajax
  • Accessing XML with Ajax
  • Working with XML Documents
  • JavaTunes Purchase Order Document
  • JavaTunes Order as a Dom Tree
  • More About the W3C DOM
  • Traversing a Document with JavaScript
  • Getting Node Information
  • Finding Nodes in a Document
  • White Space Handling and Other Issues
  • Creating XML Documents on the Server
  • Producing XML with a Servlet and JSP
  • The JSP Generating the XML
  • Autocomplete Example Using XML
  • An Input Field Generating Ajax Request
  • XML Document from Servlet/JSP
  • JavaScript Code Constructing the Suggestions
  • Accessing the XML Nodes We Want
  • Using the Suggestions
  • Autocomplete at Work
  • XML Versus JSON
  • XML and JSON for Data Interchange
DWR (Direct Web Remoting) and Other Technologies
  • DWR Overview
  • What is DWR?
  • How DWR Works
  • Getting Started with DWR
  • web.xml Configuration for SWR
  • dwr.xml Configuration File
  • Running the Test Page - /dwr
  • Working with DWR
  • Including the DWR JavaScript Code
  • Using the SWR Proxies
  • Functions with Java Object Arguments
  • DWR Options
  • Reverse Ajax
  • Other Technologies
  • JSON-RPC
  • Using JSON-RPC-Java
  • Google Web Tooklit (GWT)
  • GWT Architecture
  • Hello World with GWT
  • The Generated Application
  • More About GWT
  • Pros/Cons of GWT
Ajax and JSF
  • JSF Overview
  • JSF Purpose and Goals
  • JSF API
  • Using JSF
  • JSF as MVC
  • JSF Views
  • Managed Beans as JSF Model
  • Managed Beans as JSF Controller
  • JSF Controller Components
  • Architecture Overview
  • faces-config.xml Details
  • Your First JSF Application
  • Configuring FacesServlet in web.xml
  • JSF Controller
  • Writing a Managed Bean
  • A Simple Managed Bean
  • faces-config.xml
  • Examining the Logon Form
  • Linking Input Fields to Bean Properties
  • Submitting the Form
  • Method Binding Expressions
  • Dynamic Navigation Rule
  • Creating / Deploying a JSF Application
  • Ajax4jsf
  • Using Ajax with JSF
  • Ajax4jsf
  • Ajax4jsf Component Structure
  • How the Ajax Filter Works
  • Ajax4jsf Request Processing Flow
  • Ajax4jsf Action Components
  • Ajax4jsf Container Components
  • RichFaces
  • RichFaces Overview
  • RichFaces Suggestionbox Component
  • The SearchBean Managed Bean
  • RichFaces Suggestionbox Display
Design and Best Practices
  • JavaScript Best Practices
  • JavaScript is a Key Ajax Technology
  • Object-Oriented Modular JavaScript
  • Dealing with Browsers
  • Separate Content, Behavior, and Presentation
  • JavaScript Tips and Techniques
  • Don't Reinvent the Wheel
  • Ajax Design
  • Ajax is Still Evolving and Maturing
  • Basic Ajax Design Principles and Patterns
  • Basic Ajax Design Patterns
  • Use Ajax Where Appropriate
  • Network Usage Considerations
  • Ajax and the Back Button - The Problem
  • Ajax and the Back Button - Solutions
  • User Interface Design Considerations
  • Other Ajax Design Considerations
  • Ajax Security Ideas
  • General Security Issues for Ajax
  • Basic Security Guidelines
  • Scripting Vulnerabilities - Malicious Code
  • The Dangers of Code Injection
  • XSS - Same Origin Policy
  • Same Origin Policy - The Good and the Bad
  • Preventing Malicious Content
  • JSON Issues
JavaScript
  • Introductions
  • Statements
  • Variables
  • Operators
  • Popups
  • Loops
  • If-Else
  • Exception Handling
  • Events
  • Validation

Struts Overview
  • What is Struts?
  • Model 1 Design Pattern
  • Model 2 / MVC Design Pattern
  • Implementing MVC with a Framework
  • The Struts Framework
  • Basic Struts Components
  • Struts Documentation
  • A Struts-Based Application: Logon
Struts in a Simple Web Application
  • Stars Information Application
  • List Stars Flow
  • Display Star Flow
  • ActionServlet: the Controller
  • struts-config.xml
  • ActionForm: Form State
  • The execute Method of StarsListAction
  • The execute Method of StarsDisplayAction
  • Directing Processing Flow with an ActionForward
  • Building a View with Tags
  • Review: Flow through a Typical Struts-Based Application
The Controller
  • ActionServlet as a Controller
  • RequestProcessor
  • Developer Responsibilities
  • Mapping
  • Forwards
  • Lifecycle of an ActionForm
  • ActionForm Considerations
  • The reset Method
  • The validate Method
Action and the Business Model
  • The execute Method of Action
  • execute() Method Considerations
  • Handling an Error
  • Threading Considerations
  • Some Best Practices for Action
  • More Best Practices for Action
Action Mappings
  • Command Pattern for Web Applications
  • ActionServlet
  • Action and Action Mappings
  • Struts Configuration
  • Selecting a Forward
  • Global Forwards
  • Declarative Exception Handling
  • Global Exception Handlers
Forms
  • Working with HTML Forms
  • Action Forms, a/k/a Form Beans
  • Relationship to Input
  • Relationship to Actions
  • Relationship to the Model
  • Relationship to Output
  • DynaActionForm and Map-Backed Forms
  • Validation
  • Coarse-Grained Form Beans
The View
  • Forwarding to a View
  • Overview of Struts Tags
  • Struts HTML Tags
  • Form-Related Tags
  • Dealing with URLs
  • Using Error Tags
  • Displaying Messages
  • Struts Bean Tags
  • Struts Logic Tags
  • Some Struts View Best Practices
Internationalization
  • I18N and L10N
  • Resource Bundles
  • Java's MessageFormat Class
  • Internationalization in Struts
  • I18N with Struts Tags
  • I18N with JSTL tags
  • I18N within Java Code
Advanced Struts Features
  • Accessing Bean Properties
  • DynaActionForm: A Configurable Form
  • Indexed and Mapped Properties in a Form
  • Using indexed='true'
  • Preventing Duplicate Form Submits
  • Using ForwardAction and IncludeAction
  • DispatchAction
  • LookupDispatchAction
  • Implementing a LookupDispatchAction
Struts Tag Libraries
  • Building View Components
  • Struts Tag Libraries
  • Attributes and Struts Expressions
  • Building Forms
  • Forms
  • Forms and Form Beans
  • Scope and Duration of Form Data
  • Managing Hyperlinks
  • Error Messages
  • Logic Tags
The JSP Standard Tag Library
  • JSTL Overview
  • JSP Expression Language
  • Core Tags
  • Formatting Tags
  • SQL Tags
  • XML Tags
  • Mixing JSTL, EL, Scripts and Actions
  • Indexed Properties and Struts HTML Forms
Advanced Configuration
  • Struts Configuration in Depth
  • Wildcards
  • Extensions
  • The Configuration Object Model
  • Subclasses
  • Plug-Ins
  • Integrating Other Frameworks
  • Role-Based Security
  • Chaining Actions
  • The ComposableRequestProcessor Class
  • Configuring Command Chains
  • Modules
Under the Hood
  • Global Objects
  • Specialized Struts Actions
  • The Utility Package
  • The Commons BeanUtils Class
  • Form Beans as Adapters to the Business Tier
  • Reusing Validation Rules
  • Graceful Validation
Tiles
  • Consistent Look and Feel
  • Reusable Layouts and Content
  • The Tiles Framework
  • Instantiating Layouts
  • Body-Wrap Insertions
  • Tiles and Stylesheets
  • Working with Tiles Attributes
  • The Tiles Context
  • Definitions
  • Aggregation and Inheritance
  • The Tiles Plug-In
  • Forwarding to Definitions
  • Performance Considerations
Handling Errors
  • Error Handling Options with Struts
  • Documenting Errors with ActionMessage
  • JSP Error Pages
  • Declarative Java Exception Handling
  • Logging in Struts
Validation
  • Validator Overview
  • Validator Requirements
  • Configuring Validator Rules
  • Struts Validators
  • Configuring the Struts Validators
  • Configuring Form Validation - global and formset
  • Configuring Form Validation - form and field
  • Configuring Form Validation - arg
  • Configuring Form Validation - var
  • Validation with Regular Expressions
  • ValidatorForm verses ValidatorActionForm
  • Implementing a Validator Method
  • Other Validator Implications
Page Composition with Tiles
  • Tiles Overview
  • Building a Tiles Template
  • Basic Tiles Example
  • Tiles Definitions
  • Additional Options with Definitions
  • Placing Definitions in a Configuration File
  • Using the put Tag
  • Enabling the Tiles Plug-In
  • Using Tiles
Nested Tags
  • Why Nested Tags?
  • Using Nested Tags
  • Parent and Root Tags

Overview of Spring
  • Java EE: The Good, The Bad, and the Ugly
  • Enter the Framework
  • Spring Value Proposition
  • The Spring Container
  • Web Applications
  • Persistence Support
  • Aspect-Oriented Programming
  • The Java EE Module(s)
  • Integrating Other Frameworks
The Container
  • JavaBeans, Reconsidered
  • The Factory Pattern
  • Inversion of Control
  • XML View: Declaring Beans
  • Java View: Using Beans
  • Singletons and Prototypes
Instantiation and Configuration
  • Configuring Through Properties
  • Configuration Namespaces
  • The p: Notation
  • Bean (Configuration) Inheritance
  • Configuring Through Constructors
  • Bean Post-Processors
  • Lifecycle Hooks
  • Integrating Existing Factory Code
Dependency Injection
  • Complex Systems
  • Assembling Object Graphs
  • Dependency Injection
  • Single and Multiple Relationships
  • The Utility Schema
  • Bean Aliases
  • Inner Beans
  • Autowiring
  • Auto-Detecting Beans
  • @Autowired Properties
  • Best Practices with Spring 2.5 Annotations
Assembling Object Models
  • Collections and Maps
  • Support for Generics
  • The Spring Utility Schema (util:)
  • Autowiring to Multiple Beans
  • Order of Instantiation
  • Bean Factory vs. Application Context
Validation
  • Validators
  • The Errors Object
  • ValidationUtils
  • Error Messages and Localization
  • Nested Property Paths
The Web Module
  • Servlets and JSPs: What's Missing
  • The MVC Pattern
  • The Front Controller Pattern
  • DispatcherServlet
  • A Request/Response Cycle
  • The Strategy Pattern
  • JavaBeans as Web Components
  • Web Application Contexts
  • Handler Mappings
  • "Creating" a Model
  • View Resolvers
Customizing Control Flow
  • HandlerMapping Options
  • ViewResolver Options
  • Chaining View Resolvers
  • Triggering Redirects
Controllers and Commands
  • Working with Forms
  • Command Objects
  • The Template Method Pattern
  • Command Controllers
  • Data Binding
  • MultiActionController
  • Scope and Granularity of Command Objects
  • Auto-Detecting @Controllers
  • The @RequestMapping Annotation
Binding and Validation
  • Property Editors
  • Custom Property Editors
  • Registrars
  • Validating Form Input
Form Controllers
  • Form Controllers
  • AbstractFormController
  • SimpleFormController
  • Spring Custom Tags
  • Forms and Friends
  • Form : Errors
  • Reporting Errors
  • @RequestMapping for Form Controllers
  • @RequestMapping for Multi-Action Controllers
  • Other Handler Annotations
  • Controller vs. @Controller
Refining the Handling Cycle
  • The Intercepting Filter Pattern
  • Exception Handling
  • Interceptors
  • The Decorator Pattern
  • Context and Lifecycle
  • Awareness Interfaces
  • Support and Utility Classes
  • "Death By XML"
Templates and DAOs
  • The DAO Pattern
  • The DaoSupport Hierarchy
  • The DataAccessException Hierarchy
  • JDBC DAOs
  • JdbcTemplate and RowMapper
Working with JPA
  • Object/Relational Mapping
  • The Java Persistence API
  • Blending Spring and JPA
  • Entity Manager Factories
  • Configuration Issues
Transactions
  • Transaction Managers
  • Transaction Advice
  • AOP vs. Annotations
  • JDBC Transaction Manager
  • JPA Transaction Manager

Persistence
  • Object Persistence
  • Object/Relational Paradigms
  • Impedance Mismatch
  • Object Relational Mapping ()ORM)
  • Persistent Framework
  • Hibernate
  • Java ORM/Persistent Frameworks
Hibernate Architecture
  • Hibernate Architecture and PI
  • Hibernate Installation/Setup
  • Configuration
  • Configuration Properties
  • Mapping Files
  • Persistent Classes
  • Persistent Classes
  • POJOs
  • JavaBeans
  • Basic Mapping
  • Class to Table Mappings
  • Property Mapping
  • Identifiers
  • Generators
  • Natural Keys
  • Identifier Exposure
  • Quoting SQL Tables and Columns
Working with Persistent Objects
  • Entity Lifecycle
  • Transient Stat
  • Persistent State
  • Persistent Object Updates and Automatic Dirty Checking
  • Detached State
  • Deleted
  • Object Identifiers Revisited
  • Merge
Components
  • Domain Model
  • Entities and Values
  • Components
Associations
  • Many-to-one
  • Bidirectional Many-to-one
  • Other Collections
  • Many-to-one List
  • Many-to-one Map
  • Many-to-one Bag
  • Many-to-one Array
More Associations
  • One-to-one
  • Bidirectional One-to-one
  • Many-to-many
  • Bidirectional Many-to-many
  • Many-to-many Identifier Bag
Value Type Collections
  • Collections of Value Types
  • Collections of Components
  • Sorting Collections
Inheritance
  • Inheritance Mapping Strategies
  • Table per concrete class
  • Table per subclass
  • Table per hierarchy
  • Inheritance Mapping Pros/Cons
  • Polymorphism
  • Table per concrete class with unions
  • Choosing an Inheritance Strategy
Transitive Persistence
  • Transitive Persistence
  • Lazy Loading
  • Proxies
  • Eager Loading
  • What's a Proxy?
  • Detached Objects and Proxies
  • Polymorphic Associations Revisited
Custom Mapping
  • Custom Mapping Types
  • UserType
  • Enumerations
HQL
  • Hibernate Object Fetching Options
  • Hibernate Query
  • HQL
  • HQL Parameters
  • Named Queries
  • Native SQL
Criteria
  • Hibernate Criteria
  • Restrictions
  • Query By Example
  • Scrolling
  • Pagination
  • Query Hints
  • Query Option Pros/Cons
Transactions and Concurrency
  • The Java Transaction
  • Hibernate Transaction Configuration
  • Hibernate Transaction API
  • Concurrency
  • Isolation Levels
  • Optimistic Locking
  • Versioning
  • Optimistic Locking without Versioning
  • Pessimistic Locking
Fetching Strategies
  • N + 1 Selects
  • Fetching Strategies
  • Join Fetching
  • Subselect Fetching
  • Batch Fetching
  • Queries and Fetching Strategies
  • Cartesian Product Problem
Cache
  • The Promise of Cache
  • Hibernate Caching Architecture
  • First Level Cache
  • Second Level Cache
  • Cache Concurrency
  • Configuring Second Level Cache
  • Cache Regions
  • Eviction
Annotations
  • Metadata
  • Annotations Pros/Cons
  • Configuring Hibernate Annotations
  • EJB3/JPA Annotations
  • Entity Annotations
  • Embedded Object (Component) Annotations
  • Inheritance Annotation

Web Service Overview
  • Service Oriented Architecture (SOA)
  • SOA and Web Services
  • Web Services
  • Web Service Standards
  • Standards and Standard managers
  • General Resources
XML Syntax
  • An XML History
  • HTML
  • W3C and the XML Specification
  • XML vs. HTML
  • XML Syntax: The Bricks
  • Elements
  • Attributes
  • XML Miscellaneous
  • All Together Now!
  • Well-Formed
  • XML Resources
XML Namespaces
  • XML Name Conflicts
  • Namespaces
  • Qualified and Unqualified Names
  • Global and Local Scope
  • Namespace Resources
XML Schema
  • XML Schema
  • XML Schema Specifications
  • XML Schema and Namespace
  • The Schema Document
  • Schema Root Element
  • Element Definitions
  • Complex Element Definitions
  • Attribute Definitions
  • Element and Attribute References
  • Abstract Data Types
  • Target Namespaces
  • Importing vs. Including Schemas
  • Validating Documents
  • XML Schema Resources
Advanced XML Schemas
  • Non-Atomic Simple Types
  • Restrictions or Facets
  • Extensions
  • Groups
  • Defining the Type of Element Content
  • Any
  • Commenting Schemas
Schema Best Practices and Patterns
  • Designing Good Schema
  • Design Goals
  • Naming Conventions
  • Enumerations
  • Element vs. Type
  • Element vs. Attribute
  • Global vs. Local
  • Qualified vs. Unqualified
  • Default Namespace
  • Miscellaneous Schema Design Tips and Conventions
  • Common Schema Design Patterns
  • XML Schema Design Resources
SOAP
  • SOAP Specifications
  • SOAP Basics
  • The SOAP Envelope
  • The SOAP Header
  • The SOAP Body
  • SOAP Faults
  • SOAP and Protocols
  • SOAP Resources
WSDL
  • What is WSDL?
  • WSDL Specification
  • The WSDL Document
  • WSDL definitions
  • WSDL Abstract
  • portType
  • message
  • types
  • WSDL Concrete
  • binding
  • Style and Use
  • services
  • How is WSDL Used?
  • WS-I Testing Tools
  • WSDL Resources
XML to Java Mapping
  • How Does WSDL and Schema Map to Java?
  • WSDL Definition Mapping
  • WSDL portType Mapping
  • Type Mapping
  • XML to Java Mapping Resources
UDDI
  • UDDI Basics
  • UDDI Servers
  • Is a UDDI Registry Required?
  • Registry System
  • BusinessEntity
  • BusinessService
  • BindingTemplate
  • tModel
  • Publisher Assertion
  • Interacting with a UDDI Registry
  • UDDI Resources
Java Web Service APIs
  • Java and XML Processing
  • API Overview
  • JAX-RPC
  • JAXP
  • JAXR
  • JAXB
  • JAXM
  • SAAJ
  • JAX-WS and the New java Web Service Stack
  • Enterprise Web Services
  • Java Web Service API Resources
Axis
  • What is Axis?
  • Axis JWS Web Services
  • Building a Java Service Consumer with Axis
  • JWS Pros/Cons
  • Axis Custom Deployment Web Services
  • Understanding Axis Custom Deployment Options
  • Web Service Scope
  • Web Service Types
  • Java Bean Mapping
  • Axis Resources
Advanced Axis
  • Axis Handlers and Chains
  • Axis MessageContext
  • Axis TCP Monitor (TCPMon)
  • SOAP Monitor
  • Advanced Axis Resources
Versioning
  • Versioning
  • Classifying Changes
  • Handling Backward Compatible Change
  • Handling Non-Backward Compatible Change
  • Behavioral Change
  • WSDL Versioning
  • Versioning Resources
Future of Web Services
  • Web Services - Are We There Yet?
  • WS-* Specifications
  • WS-Security
  • WS-ReliableMessaging
  • WS-Addressing
  • WS-* Resources
DOM and SAX
  • What is the Document Object Model?
  • Document Object Model Specifications
  • DOM Interfaces
  • Begin Working with DOM
  • Document Interface
  • Node Interface
  • NodeList Interface
  • NamedNodeMap Interface
  • Event-Based Parsing
  • SAX
  • Creating a Simple Java SAX Application
  • Limitations of SAX
  • Benefits of SAX
  • Benefits of DOM


Apply now at training@providenceconsulting.in

Next Steps

Find Talent Gaps

Find Talent Gaps Understand your
Java Talent
Risks within
60 minutes.
Contact us today
for a free
Talent Gap Assessment.

Certify Your Skills

Find Talent Gaps Providence's Certification
Program helps
you develop,
practice and test the
technology skills required
to dazzle in the IT arena.

Already Providence Trained ?

You can always take the
fast track to certification.

Stay in Touch

we are Social geeks