x Contents
■ Chapter 5: Building Java Web Applications with Spring Web MVC ������������������������������� 203
Spring Framework Overview ����������������������������������������������������������������������������������������������������� 204
AOP and Instrumentation ����������������������������������������������������������������������������������������������������������������������������������� 204
Core Container ��������������������������������������������������������������������������������������������������������������������������������������������������� 204
Data Access/Integration������������������������������������������������������������������������������������������������������������������������������������� 205
Test �������������������������������������������������������������������������������������������������������������������������������������������������������������������� 205
Web �������������������������������������������������������������������������������������������������������������������������������������������������������������������� 205
Spring Framework Fundamentals �������������������������������������������������������������������������������������������� 206
Application Context �������������������������������������������������������������������������������������������������������������������������������������������� 211
Key Objectives of the Spring Framework ���������������������������������������������������������������������������������� 212
Dealing with Tight Coupling Using Dependency Injection ���������������������������������������������������������������������������������� 212
Addressing Cross-Cutting Concerns Using AOP ������������������������������������������������������������������������������������������������ 217
Removing Boilerplate Code Using Templates ���������������������������������������������������������������������������������������������������� 221
Building Web Application with Spring Web MVC ���������������������������������������������������������������������� 227
Spring Web MVC Architecture ���������������������������������������������������������������������������������������������������������������������������� 227
Getting Started with a Spring Web MVC Application ������������������������������������������������������������������������������������������ 232
Implementing Spring Web MVC in the Bookstore Application ��������������������������������������������������������������������������� 245
Working with Forms Using Annotations ������������������������������������������������������������������������������������������������������������� 251
Annotations-Based Validation ���������������������������������������������������������������������������������������������������������������������������� 257
Summary ����������������������������������������������������������������������������������������������������������������������������������� 261
■ Chapter 6: Component-Based Web Development Using JSF 2 �������������������������������������� 263
The Architecture of JSF ������������������������������������������������������������������������������������������������������������� 264
FacesServlet ������������������������������������������������������������������������������������������������������������������������������������������������������ 264
Managed Bean ��������������������������������������������������������������������������������������������������������������������������������������������������� 264
VDL �������������������������������������������������������������������������������������������������������������������������������������������������������������������� 265
JSF EL ���������������������������������������������������������������������������������������������������������������������������������������������������������������� 265
JSF Tag Library �������������������������������������������������������������������������������������������������������������������������������������������������� 265
UI Component ���������������������������������������������������������������������������������������������������������������������������������������������������� 266
Renderer ������������������������������������������������������������������������������������������������������������������������������������������������������������ 266
Converter and Validator ������������������������������������������������������������������������������������������������������������������������������������� 267
Events and Event Listeners ������������������������������������������������������������������������������������������������������������������������������� 267