Course JAV103 Java Spring Framework Application Development
Duration: 5 Days
Intended Audience
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 Annotations
- Basic understanding of the HTTP protocol, including concepts like SSL, redirection, GET vs POST, etc.
- Basic knowledge of SQL
Synopsis
This Spring/Hibernate course covers the development of enterprise Java web applications with the Spring, Hibernate, and Spring Security (Acegi) open-source frameworks.
Course Objectives
To teach the student
- The Principles of Java Web Application Development
- The 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 and Maven
Course Outline
- Overview
- 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