Learn your way! Get started

Java EE: Web Development Using Spring 3.0

with expert Greg Matus


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 2/3/2012
Level Advanced
Runtime 11h 21m
Closed captioning N/A
Transcript N/A
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

The Spring 3.0 framework gives Java developers a strong platform for creating websites and web applications. This course will cover many aspects of web development starting with Direct Web Remoting (DWR). From there the course will cover Spring and Struts which covers Model View Controller. After that the course moves on to WebFlows and testing with Unit Testing and Spring. The later sections of the course will cover the important subject of Security. They will cover Enterprise and Web security and then how to customize web security, securing Java code and user versus role based security.

Prerequisites

This an intermediate- level Spring 3.0 training course, designed for developers who need to understand how and when to use Spring in Java and JEE applications. You should have practical basic Java development experience.

Learning Paths

This course is part of the following LearnNowOnline SuccessPaths™:
Java Development

Meet the expert

Greg Matus combines his practical programming skills and mentoring excellence to develop the highest quality educational programs available. His technical focus includes developing programs and projects focused around advanced application development, performance, and tuning skills and technologies. His specialties include Java, advanced J2EE / JEE, AJAX, XML, Web Services, JSP, SQL, JDBC and Database topics, Oracle, Eclipse, WebLogic, and more.

Course outline



Module 1

Direct Web Remoting (39:02)
  • Introduction (01:40)
  • Direct Web Remoting Overview (07:26)
  • DWR Mechanics (02:49)
  • DWR Communication (01:37)
  • Installing DWR (02:15)
  • DWR Basics Non-Spring (02:36)
  • DWR Beans (02:26)
  • DWR Configuration File (03:11)
  • DWR web.xml Registration (01:57)
  • Testing DWR (01:50)
  • DWR Clients (02:21)
  • Spring and DWR Configuration (01:57)
  • DWR Servlet (02:03)
  • Configuring DWRSpringServlet (00:34)
  • Configuring DWR and Spring (00:52)
  • Spring Context File (00:55)
  • Spring DWR Client HTML (02:11)
  • Summary (00:14)
Direct Web Remoting Demo (36:58)
  • Introduction (00:26)
  • DWR Demo: Setup (02:27)
  • DWR Demo: Editing files (02:59)
  • DWR Demo: PreTest.Java Servlet (03:48)
  • DWR Demo: Add Spring Support (07:42)
  • DWR Demo: Setting up DWR (05:03)
  • DWR Demo: Map Requests (11:17)
  • DWR Demo: HTML (03:07)
  • Summary (00:06)

Module 2

DWR Demo Continued (43:35)
  • Introduction (00:15)
  • DWR Demo: HTML Continued (19:09)
  • DWR Demo: Configure Spring (23:41)
  • Summary (00:28)
Spring and Struts (28:17)
  • Introduction (00:43)
  • Struts Overview (06:12)
  • Struts and "Model 2" (MVC) (07:55)
  • Struts Dispatcher Servlet (13:20)
  • Summary (00:06)

Module 3

Spring and Struts Continued (23:23)
  • Introduction (00:15)
  • Struts Action Classes (03:19)
  • Configure Struts with Spring (04:59)
  • Extend Action Support (01:11)
  • Context Loader Listener (03:07)
  • Delegation Request Processor (01:54)
  • DI on Action Classes (04:35)
  • MVC Related Beans (03:41)
  • Summary (00:16)
Using Struts with Spring (29:13)
  • Introduction (00:26)
  • Demo: Setup Database (04:23)
  • Demo: Create Database (01:45)
  • Demo: Struts Application (02:22)
  • Demo: Adding in Custom Code (10:26)
  • Demo: Configure with Spring (09:43)
  • Summary (00:06)

Module 4

More Using Struts with Spring (30:43)
  • Introduction (00:15)
  • Demo: StrutsConfig.xml (04:12)
  • Demo: ApplicationContext.xml (04:22)
  • Demo: Context.xml (01:35)
  • Demo: Define Beans (06:59)
  • Demo: ActionServlet.xml (03:45)
  • Demo: Deploy and Test (03:17)
  • Demo: Debugging (05:36)
  • Summary (00:39)
Spring Web Flows (32:19)
  • Introduction (00:43)
  • Stateful Web Application (03:59)
  • Stateful Web App Challenges (05:24)
  • Traditional Stateful Web App (01:31)
  • Spring MVC (03:04)
  • Spring MVC Process (03:04)
  • Spring MVC Servlet (01:27)
  • Configure MVC Servlet (06:44)
  • Spring WebFlows (01:40)
  • Process Driven Application (01:51)
  • Shopping Cart Flow Diagram (02:42)
  • Summary (00:06)

Module 5

Spring Web Flows Continued (28:10)
  • Introduction (00:15)
  • Spring WebFlow Components (08:08)
  • WebFlow DispatcherServlet (01:02)
  • WebFlow Controller (01:16)
  • WebFlow FlowExecutor (01:17)
  • States (03:34)
  • Variables (01:46)
  • Coding the View (02:19)
  • Triggering Event: Named Button (01:16)
  • Triggering Event: Link (00:50)
  • Subflows (04:27)
  • Shopping Cart Flow Diagram (01:03)
  • Subflow Definition (00:24)
  • Summary (00:28)
Overview of Unit Testing (41:12)
  • Introduction (00:33)
  • What is Unit Testing (09:45)
  • Purpose of Unit Testing (04:21)
  • Successful Unit Testing (03:20)
  • JUnit Overview (01:41)
  • Reasons to Use JUnit (06:07)
  • How JUnit Works (05:16)
  • Creating a TestCase (03:26)
  • JUnit Methods to Override (03:21)
  • Introducting Class Message (01:50)
  • Demo: Class MessageTest (01:23)
  • Summary (00:06)

Module 6

More Overview of Unit Testing (31:34)
  • Introduction (00:15)
  • Creating Class MessageTest (04:04)
  • Demo: Class MessageTest (07:44)
  • Demo: Create Test Method (05:01)
  • Demo: Insert Equals (00:42)
  • Demo: Run Test (04:55)
  • Demo: Recap Order of Events (02:43)
  • Defining a TestSuite (02:39)
  • Example TestSuite (03:02)
  • Summary (00:25)
Unit Testing and Spring (26:46)
  • Introduction (00:31)
  • Spring Makes Testing Easy (03:17)
  • Spring Specific Tests (02:17)
  • Integration Testing (01:55)
  • Testing SpringMVC Controller (03:06)
  • Testing a Controller"s Output (05:00)
  • Request and Response Objects (01:21)
  • Initializing Request Object (01:09)
  • Streamlining Your Assertions (02:19)
  • Model And View Assert Methods (02:47)
  • Rewrite to Use New Assertions (02:43)
  • Summary (00:17)

Module 7

More Unit Testing and Spring (50:52)
  • Introduction (00:23)
  • Demo: Overview and Setup Files (03:17)
  • Demo: Test Controllers (17:39)
  • Demo: Parameters (04:05)
  • Demo: Response Object (00:38)
  • Demo: Form Object (01:26)
  • Demo: Command Object (02:27)
  • Demo: Bind Exception Object (01:05)
  • Demo: Direct Controller Call (01:46)
  • Demo: Test Setup (17:32)
  • Summary (00:29)
Enterprise Spring Security (48:33)
  • Introduction (00:58)
  • The Main Goals of Security (03:44)
  • Core Security Concepts (03:00)
  • Spring Security Framework (03:16)
  • Spring Works With (00:54)
  • Other Spring Features (01:00)
  • Spring Security Transparent (01:47)
  • Security Works by Interception (00:43)
  • Functions and Types (02:02)
  • Authentication Managers (01:57)
  • Performing Authentication (01:55)
  • Providers Supplied by Spring (00:58)
  • Single Sign-on (SSO) (03:13)
  • Authentication Providers (03:36)
  • Protecting Authentication Data (04:13)
  • Username/Password Creation (01:27)
  • Compare Credentials (00:27)
  • Wiring in Encoders and Salts (02:07)
  • Configuring a DAO Provider (00:36)
  • More Authentication Providers (01:14)
  • Access Decision Managers (02:09)
  • Votes and Voters (01:28)
  • Decision Manager Example (00:49)
  • Run-As and After-Invocation (01:50)
  • Other Security with Spring (01:48)
  • Other Attacks on Your Web Site (00:39)
  • Summary (00:32)

Module 8

Spring Web Security (34:08)
  • Introduction (00:33)
  • Transparent Spring Security (04:21)
  • Spring Works by Interception (00:55)
  • Spring Security (00:58)
  • Securing a Web Page Steps 1-2 (01:27)
  • Add Core Security to JEE Site (03:16)
  • The Standard Set of Filters (03:13)
  • Configure Web.xml (02:17)
  • Spring Beans Security File (01:35)
  • Spring Security Config File (03:47)
  • ApplicationContext-Security.xml (01:48)
  • Spring Security Extensions (00:51)
  • HTTP Section (03:21)
  • Pages Without Access Control (01:54)
  • Authentication Provider (02:26)
  • Running the Program (01:12)
  • Summary (00:06)
Spring Web Security Demo (32:51)
  • Introduction (00:15)
  • Demo: Deploy Application (02:57)
  • Demo: Inventory Manager (02:35)
  • Demo: Add Basic Security (01:24)
  • Demo: Download Spring Security (02:34)
  • Demo: Add JAR Files (03:22)
  • Demo: Change/Add XML Files (04:36)
  • Demo: Add Filter (02:03)
  • Demo: Configure Basic Security (07:48)
  • Demo: Redeploy Application (01:13)
  • Demo: Test Security (01:37)
  • Demo: Log Off Site (01:55)
  • Summary (00:27)

Module 9

Customizing Web Security (11:58)
  • Introduction (00:41)
  • Customizing the Experience (01:16)
  • Protect Different Pages (00:32)
  • Adding a Logout Page (00:51)
  • Adding a Custom Login Page (01:16)
  • Content of the Login Page (05:38)
  • JSP Tags to Show Content (01:35)
  • Summary (00:06)
Customizing Web Security Demo (46:58)
  • Introduction (00:15)
  • Demo: Overview (00:55)
  • Demo: Split JSP Paths (01:50)
  • Demo: Add Users (03:59)
  • Demo: Modify Index.html (01:29)
  • Demo: Mapping (00:50)
  • Demo: Test Application (03:00)
  • Demo: Add Logout Page (04:19)
  • Demo: Test Logout (01:45)
  • Demo: Custom Login Page (11:55)
  • Demo: Configure Login Page (01:06)
  • Demo: Test/Debug Login (03:54)
  • Demo: JSP Security Tags (06:32)
  • Demo: Test JSP Security (04:46)
  • Summary (00:16)

Module 10

Securing Java Code (13:12)
  • Introduction (00:43)
  • Overview (00:27)
  • Security Guidance (04:36)
  • Spring Security with Beans (03:07)
  • Securing Java Spring Beans (02:34)
  • Security Within the Bean (01:37)
  • Summary (00:06)
Securing Java Code Demo (30:32)
  • Introduction (00:15)
  • Demo: Overview (02:32)
  • Demo: Dispatcher Servlet (03:29)
  • Demo: Protect Service Beans (03:26)
  • Demo: Global Method Security (07:20)
  • Demo: JARs on the Classpath (04:22)
  • Demo: Test Application (08:32)
  • Summary (00:33)
User Based Web Security (20:59)
  • Introduction (00:37)
  • User Vs. Role Based Security (01:16)
  • User Based Security (01:52)
  • SecurityContextHolder (04:10)
  • Demo: Recap (00:45)
  • Demo: Modify Java Code (01:26)
  • Demo: Add Business Logic (05:56)
  • Demo: Review (00:54)
  • Demo: Test Application (03:42)
  • Summary (00:16)