 Contact Us 978.250.4983

Introduction to Web Application Development Using JEE, Spring/Hibernate, Web Services and AJAX Duration: 35 hours

Prerequisites: Java programming experience and an understanding of object-oriented design principles

Course Description: This course provides students hands on experience with cutting edge Java Enterprise (Java EE) technologies, creating dynamic web and enterprise applications that utilize several Java frameworks and technologies including JSP's and Servlets, Java Persistence API (JPA), JNDI, JDBC, AJAX, Web Services, Spring and Hibernate. The goal is to enable students to exploit the Java EE platform and accompanying frameworks to facilitate the development of distributed, web-enabled applications.

Students will architectural design issues as well as specific coding models for a variety of Java EE components. By working with several Java frameworks in hands on labs, students will build applications that incorporate many of the patterns commonly used in these and other Java frameworks. Upon completion of the course, students should be able to learn and effectively utilize frameworks appropriate for their application environment.

Starting with Java Server Pages and Servlets, the course then introduces some of the most widely used frameworks to provide concrete illustrations of the services available. Since coding and deployment files are standardized by the Java EE specifications, students may readily apply the skills learned in this class to write code for any compliant server, including Apache Tomcat, JBoss, WebSphere, Oracle, WebLogic and many others.

Students will learn how to utilize ANT, a flexible and powerful XML-based build utility, to compile, deploy and execute stand-alone and enterprise Java applications. They will also use ANT to execute standalone client applications that communicate with Java EE applications. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

Students Will Learn

 Spring Declarative Transaction Management  Frameworks  Building Web Applications with Spring MVC  Advanced Dependency Injection  SOAP Based Web Services  Introduction to Hibernate  RESTful Web Services  Lazy Loading and the Hibernate Query Language  Introduction to Ajax  Hibernate Transaction Management  Processing Ajax Data  Hibernate Criteria Queries  Advanced Ajax Features  Spring and Hibernate Integration

Overview Introduction to Java EE Web Applications Using ANT Server-Side Application Development using Java EE Understanding the ANT Build File The Role of Java Frameworks, Components and Designing ANT Targets Services Using ANT Standard Tasks Using Web-Based Components in Application Design Using ANT Properties Structure of Java EE Web Components Compiling and Executing Java Applications Deploying Web Applications Building WAR, EAR and JAR Deployment Files Java EE Web Container Services

Introduction to Servlets Developing Servlets Servlet Architecture and Advantages Servlet Classes and Interfaces The Role of Servlets in Web Application Design Working with Request and Response Objects Servlet Runtime Environment Processing GET and POST Requests from Web Servlet Lifecycle Clients Retrieving Parameters from HTML Client Forms Generating Dynamic HTML Responses Initializing Servlets Destroying and Freeing Resources in Servlets Controlling Single and Multi-Threading in a Servlet Deploying Servlets to a Web Application Server Building the WAR file The web.xml Descriptor File Developing Java Server Pages (JSPs) Deploying and Using Tag Libraries Understanding JSP/Servlet Translation Motivation for Tag Libraries Elements of JSP Syntax Implementing the Model-View-Controller Pattern JSP Page Directives JSP Built-In Actions JSP Declarations The JSP Standard Tag Library (JSTL) Displaying JSP Expressions Deploying and Using Tag Libraries Writing Scriptlets Deploying JSPs Using JavaBeans in JSPs JavaBean Architecture Creating JavaBeans Using JavaBeans in JSP Pages XML-format JSP Documents

Writing Tag Handlers Accessing Databases with JDBC Analyzing Tag Library Descriptor Files Understanding the JDBC Connectivity Model Creating Tag Library Descriptor Tags Accessing Data Sources through JNDI Using Tag Handler Methods to Generate Dynamic Connecting to a Database Web Content Executing SQL Queries and Updates Handling Tag Attributes and Attribute Validation Processing Result Sets Processing Tag Body Content Using Scrollable and Sensitive Result Sets Working with the TagExtraInfo Class Working with ResultSetMetaData Classes Developing and Deploying Tag Files Utilizing Parameterized Statements Calling Stored Procedures Handling SQLExceptions Controlling Transactions Using Batch Updates

Java Naming and Directory Interface (JNDI) Hibernate Overview Role of JNDI in the Java EE Architecture Need for Hibernate JNDI Service Providers Hibernate and ORM (Object-Relation Mapping) Importing and Utilizing JNDI Packages POJOs (Plain Old Java Objects) and the Data Layer Binding Objects with JNDI Hibernate Mapping Looking up Objects with JNDI Hibernate Over Entity Beans Using the Environment Naming Context (ENC) Declaring Resource References

Hibernate Programming Fundamentals Hibernate Power Programming Modeling Complex Mappings Hibernate Annotations and JPA Hibernate and Native SQL Issues with Adding Hibernate to Existing Systems HQL (Hibernate Query Language) Developing POJOs in Existing Systems Where Advanced HQL Techniques HQL Result Transformers Order By Using the Criteria API for Complex Queries Group By Hibernate Aggregate functions Transaction and Concurrency Issues Identifying and Removing Performance Bottlenecks Avg Lazy Loading for Performance Min Inheritance and Polymorphism in the Persistence Max Layer HQL Associations and Joins Hibernate Best Practices Hibernate Subqueries Hibernate Configuration Files Full CRUD Application (Create, Retrieve, Update, and Delete)

Introduction to the Spring Application Framework Spring Framework Core Components Spring Capabilities and Modules Spring Core The Role of POJOs Using POJOs (Plain Old Java Objects) Lightweight IOC (Inversion-Of-Control) Spring Bean Factory Dependency Injection Singleton and Prototype Beans The Factory Pattern and the Spring Container Setter Injection and Constructor Injection Spring XML Configuration Files Order of Instantiation Spring Persistence Support Lazy vs. Eager Data Access Framework and Data Access Objects Controlling Spring's XML Configuration Files AOP (Aspect-Oriented Programming)

Adding Spring to Existing Applications Introduction to AJAX Issues Adding Spring to Existing Applications AJAX Architecture and Capabilities AOP and Transactions Client Side Spring Valuators Server Side Spring Interceptors Circumventing the Page Reload Paradigm Spring MVC CSS, HTML and AJAX Integrating Spring with Hibernate JavaScript and DOM Possible Conflicts with Existing Systems XMLHttpRequest Object AOP vs. Annotations readyState and responseXML Properties Making AJAX Asynchronous Calls AJAX Function Calling Conventions Response Handling with JavaScript Browser Compatibility Issues Server-Side and Client-Side AJAX

Java and AJAX Adding AJAX to Existing Web Applications Callback Functions/Methods Issues Adding AJAX to Existing Apps Built-In Objects Dealing with Asynchronous Responses Parsing AJAX Responses Cross Browser Libraries and Frameworks XML and JSON Response Formats Working with AJAX Toolkits Servlet Code to Handle AJAX Requests Server Side Persistence Prototype AJAX Patterns and Best Practices DWR (Direct Web Remoting) Limitations of AJAX Google Web Toolkit Debugging AJAX AJAX and REST Design Compatibility Issues Security Issues

Web Services on the Server Side Web Services on the Client Side Overview of Web Services Consuming a Web Service Advantages of Web Services Client Side Artifacts Creating a Web Service JAX-WS Clients Deploying a Web Services Java/WSDL Mapping Requirements for a JAX-WS Web Service Endpoint RESTful Web Services Implementation Class RESTful Web Services in Java The Web Service Endpoint Implementation Class Working with WSDL Files Web Service Interoperability

Track Duration Price

Java Programmer 2-course track $2,400

Advanced Java Developer 4-course track $4,800 5-course track $6,000 6-course track $7,200 7-course track $8,400 8-course track $9,600

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Contact Us Address: 1 Village Square, Suite 3 Chelmsford, MA 01824

Phone: 978.250.4983 Mon - Thur: 9 am - 5 pm EST Fri: 9 am - 4 pm EST

E-mail: [email protected]

Copyright© 2018 Developer Bootcamp