Course JAV103
Java Spring Application Development
Java Spring Application Development
Duration: 5 Days
Course Synopsis
This Spring/Hibernate course covers the development of enterprise Java web applications with the Spring, Hibernate, and Spring Security (Acegi) open-source frameworks. It is a hands on instructor led class with around 50% of the class time being devoted to practical exercises.
Course Objectives
To teach the student
- Principles of Java Web Application Development
- Advantages, disadvantages and best practices of developing Java Servlets
- How to develop Java Servlet Filters
- How to develop JavaServer Pages (JSP), take advantage of JSTL and JSP Expression Language (EL)
- How to package, deploy, and troubleshoot Java Web Applications.
- How to access relational databases via JDBC
- How to set up container-managed database connection pool (DBCP) accessed through JNDI
- How to configure container-managed security (authenticating against a relational database)
- To appreciate the advantages of deploying an ORM solution in contrast a bare-bones JDBC solution
- How to install, configure, and use Hibernate (with Annotations) for the persistence layer
- How to install, configure, and use Spring for the Business and DAO layers
- Appreciate the advantages of POJOs and AOP-style development with Spring
- How to to use Spring MVC to replace Servlets, acquire support for binding, validation, navigation, error handling, etc.
- How to set up and utilise Spring's Security (a.k.a. Acegi) framework
- How to configure an application server for SSL, and force SSL use where needed
- The essentials of AJAX, and how to use AJAX with Spring through the Prototype JS library
- How to use the Eclipse for Java EE IDE
- How to automate common development tasks with Ant
Prerequisites
Delegates must be familiar with Java and the general principles of object oriented programming (OOP).
Prior exposure to the following concepts and technologies will be helpful
- General understanding of web development principles
- Basic knowledge of HTML and CSS
- Basic knowledge of JavaScript
- Understanding of Java 5 Annotations
- Basic understanding of the HTTP protocol, including concepts like SSL, redirection, GET vs POST, etc.
- Basic knowledge of SQL
- Familiarity with a relational database such as e.g. MySQL or PostgreSQL
- Familiarity with Eclipse IDE (or any other IDE)
- Familiarity with Tomcat (or any other Java EE application server)
- Familiarity with Ant
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call Ajay Patel on 02086471939 to enquire about places and availability.
Contents
- Overview of Java EE (a.k.a. J2EE)
Java Web Applications
- Overview of Java Web Application Development
- Overview of Servlets
- Java Web Application development life-cycle
- Writing Code
- Compiling Code
- Writing Deployment Descriptors (WEB-INF/web.xml files)
- Packaging web applications (generating WAR files)
- Deploying web applications (e.g. on Tomcat)
- Overview of Java Servlet Filters
- Overview of JavaServer Pages (JSP)
- Overview of JSTL
- Overview of JSP Expression Language (EL)
Database-driven Java Web Applications
- Connecting to databases from Java web applications
- Review of JDBC
- Overview of JNDI
- Overview of container-managed database connection pools (DBCP)
- Overview of DAO design pattern
- Using both Servlets and JSPs through clean design: examples and labs
Hibernate
- Overview of ORM frameworks
- Overview of Hibernate
- Overview of EJB3's JPA
- Switching from JDBC to Hibernate
- Installing and configuring Hibernate
- Overview of Hibernate Annotations
- Overview of Hibernate Query Language (HQL)
- Overivew of Hibernate caching (through EHcache)
Spring Framework
- Overivew of Model-View-Controller (MVC) design pattern
- Overview of the overall Spring framework (as a replacement for EJB)
- Overview of Spring MVC
- Switching from Servlets to Spring
- Installing and configuring Spring
- Overview of Spring Controllers
- Overview of Spring Validators
Spring Security Framework
- Overview of container-managed security
- Overview of Spring Security framework (a.k.a. Acegi)
- Switcing from container-managed to Spring security
- Installing and configuring Spring Security
- Exposing security context in the application
