ebook img

Pivotal Certified Spring Web Application Developer Exam: A Study Guide PDF

433 Pages·2015·12.024 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Pivotal Certified Spring Web Application Developer Exam: A Study Guide

C FOR PROFESSIONALS BY PROFESSIONALS® o THE EXPERT’S VOICE® IN SPRING s m i n a Pivotal Certifi ed Spring Web Application Developer Exam Related Titles P i v Pivotal Certified The Pivotal Certified Spring Web Application Developer Exam: A Study Guide is the ideal o preparation for the Pivotal Certifi ed Spring Web Application Developer Exam. It covers the t following: Spring MVC DispatcherServlet configuration, Spring MVC programming model a l essentials, Spring MVC views and form processing, Spring Web Flow essentials, and Spring C Web Flow actions and configuration. e Spring Web r When you become a Pivotal Certified Spring Web Application Developer, you’ll receive one t i of the most valuable credentials available in enterprise Java. Achieving this certification fi demonstrates your ability to apply Spring’s web projects to develop real-world Java web e applications and validates your familiarity with Spring Web. d S Application After reading and using this study guide, you‘ll be able to pass the certification exam and p become a certified Spring Web Developer. r i n •How to use the Spring Framework to develop Web applications g • How to use Spring Web Flow to implement stateful interactions •How to secure Web applications with Spring Security W Developer Exam •How to test Web applications for correctness and performance e •How to create rich Web user interfaces with Ajax and JQuery b •How to use Spring Roo to create a Spring Web application in minutes A p p l i c A Study Guide a t i — o n Iuliana Cosmina D e v e l o p e r E ISBN 978-1-4842-0809-0 Shelve in: x 54999 a Programming Languages/Java m User level: Intermediate–Advanced 9781484208090 SOURCE CODE ONLINE www.apress.com www.it-ebooks.info Pivotal Certified Spring Web Application Developer Exam A Study Guide Iuliana Cosmina www.it-ebooks.info Pivotal Certified Spring Web Application Developer Exam Copyright © 2015 by Iuliana Cosmina This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. ISBN-13 (pbk): 978-1-4842-0809-0 ISBN-13 (electronic): 978-1-4842-0808-3 Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director: Welmoed Spahr Lead Editor: Steve Anglin Technical Reviewer: Manuel Jordan Elera Editorial Board: Steve Anglin, Louise Corrigan, James T. DeWolf, Jonathan Gennick, Robert Hutchinson, Michelle Lowman, James Markham, Susan McDermott, Matthew Moodie, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Gwenan Spearing Coordinating Editor: Mark Powers Copy Editor: Kimberly Burton Compositor: SPi Global Indexer: SPi Global Artist: SPi Global Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this text is available to readers at www.apress.com/9781484208090. For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/. Readers can also access source code at SpringerLink in the Supplementary Material section for each chapter. www.it-ebooks.info To all passionate Java developers, never stop learning and never stop improving your skills. To all my friends for supporting me to make this book happen; you have no idea how dear you are to me. www.it-ebooks.info Contents at a Glance About the Author ���������������������������������������������������������������������������������������������������xiii About the Technical Reviewer ���������������������������������������������������������������������������������xv Acknowledgments �������������������������������������������������������������������������������������������������xvii Introduction ������������������������������������������������������������������������������������������������������������xix ■ Chapter 1: Introduction �����������������������������������������������������������������������������������������1 ■ Chapter 2: Spring Fundamentals �������������������������������������������������������������������������17 ■ Chapter 3: Spring MVC ����������������������������������������������������������������������������������������53 ■ Chapter 4: Spring Portlets ���������������������������������������������������������������������������������151 ■ Chapter 5: Spring RESTful Services �������������������������������������������������������������������189 ■ Chapter 6: Spring Web with AJAX ���������������������������������������������������������������������229 ■ Chapter 7: Spring Web Flow ������������������������������������������������������������������������������257 ■ Chapter 8: Spring Boot and WebSocket �������������������������������������������������������������367 ■ Appendix: Resources and Quiz Answers �����������������������������������������������������������401 Index ���������������������������������������������������������������������������������������������������������������������417 v www.it-ebooks.info Contents About the Author ���������������������������������������������������������������������������������������������������xiii About the Technical Reviewer ���������������������������������������������������������������������������������xv Acknowledgments �������������������������������������������������������������������������������������������������xvii Introduction ������������������������������������������������������������������������������������������������������������xix ■ Chapter 1: Introduction �����������������������������������������������������������������������������������������1 Spring and What It Does ���������������������������������������������������������������������������������������������������1 The Focus of this Study Guide ������������������������������������������������������������������������������������������4 Who Should Use this Study Guide ������������������������������������������������������������������������������������5 About the Spring Web Certification Exam�������������������������������������������������������������������������5 How to Use this Study Guide ��������������������������������������������������������������������������������������������6 How this Book Is Structured �������������������������������������������������������������������������������������������������������������������7 How Each Chapter Is Structured �������������������������������������������������������������������������������������������������������������7 Conventions ��������������������������������������������������������������������������������������������������������������������������������������������8 Downloading the Code ����������������������������������������������������������������������������������������������������������������������������8 Contacting the Author �����������������������������������������������������������������������������������������������������������������������������8 Recommended Development Environment ����������������������������������������������������������������������8 Recommended Build Tools ���������������������������������������������������������������������������������������������������������������������9 Recommended IDE �������������������������������������������������������������������������������������������������������������������������������10 The Project Sample ������������������������������������������������������������������������������������������������������������������������������11 vii www.it-ebooks.info ■ Contents ■ Chapter 2: Spring Fundamentals �������������������������������������������������������������������������17 The Basics ����������������������������������������������������������������������������������������������������������������������17 The Spring Core Container ���������������������������������������������������������������������������������������������19 Spring Configuration ������������������������������������������������������������������������������������������������������21 XML �������������������������������������������������������������������������������������������������������������������������������������������������������21 Annotations �������������������������������������������������������������������������������������������������������������������������������������������25 Mixed Approach ������������������������������������������������������������������������������������������������������������������������������������26 The Beans ����������������������������������������������������������������������������������������������������������������������27 Lifecycle and Instantiation ��������������������������������������������������������������������������������������������������������������������27 Bean Scopes �����������������������������������������������������������������������������������������������������������������������������������������35 Accessing Beans ����������������������������������������������������������������������������������������������������������������������������������38 Spring AOP ���������������������������������������������������������������������������������������������������������������������41 Testing Spring Applications ��������������������������������������������������������������������������������������������44 Summary ������������������������������������������������������������������������������������������������������������������������45 Quick Quiz ����������������������������������������������������������������������������������������������������������������������46 Practical Exercise �����������������������������������������������������������������������������������������������������������46 ■ Chapter 3: Spring MVC ����������������������������������������������������������������������������������������53 MVC Basics ���������������������������������������������������������������������������������������������������������������������53 Configuring MVC �������������������������������������������������������������������������������������������������������������55 XML Configuration ��������������������������������������������������������������������������������������������������������������������������������56 Configuration Using Annotations ����������������������������������������������������������������������������������������������������������61 Configuration Without Using web�xml ���������������������������������������������������������������������������������������������������64 MVC Components �����������������������������������������������������������������������������������������������������������67 Infrastructure Beans �����������������������������������������������������������������������������������������������������������������������������68 User-Provided Components ������������������������������������������������������������������������������������������������������������������94 View Technologies ��������������������������������������������������������������������������������������������������������109 Tiles Layouts ���������������������������������������������������������������������������������������������������������������������������������������110 Thymeleaf �������������������������������������������������������������������������������������������������������������������������������������������115 viii www.it-ebooks.info ■ Contents Forms ���������������������������������������������������������������������������������������������������������������������������119 Data Formatting ����������������������������������������������������������������������������������������������������������������������������������125 Data Binding ���������������������������������������������������������������������������������������������������������������������������������������129 Data Validation ������������������������������������������������������������������������������������������������������������������������������������132 Managing the Form Object �����������������������������������������������������������������������������������������������������������������137 Summary ����������������������������������������������������������������������������������������������������������������������138 Quick Quiz ��������������������������������������������������������������������������������������������������������������������139 Practical Exercise ���������������������������������������������������������������������������������������������������������144 ■ Chapter 4: Spring Portlets ���������������������������������������������������������������������������������151 Portlet Basics ���������������������������������������������������������������������������������������������������������������154 Configuration ����������������������������������������������������������������������������������������������������������������156 The XML Part of the Configuration �������������������������������������������������������������������������������157 The Annotation Part of the Configuration ���������������������������������������������������������������������164 Configuration Details and Recommendations ��������������������������������������������������������������168 The Development and Deployment of a Portlet Application �����������������������������������������169 Download, Install, Start, and Configure Liferay �����������������������������������������������������������������������������������170 Summary ����������������������������������������������������������������������������������������������������������������������188 ■ Chapter 5: Spring RESTful Services �������������������������������������������������������������������189 Core REST Concepts �����������������������������������������������������������������������������������������������������189 HATEOAS ����������������������������������������������������������������������������������������������������������������������195 Advantages of REST �����������������������������������������������������������������������������������������������������197 RESTful Applications Using Spring MVC �����������������������������������������������������������������������199 RESTful Clients with Spring ����������������������������������������������������������������������������������������������������������������199 Asynchronous REST Calls �������������������������������������������������������������������������������������������������������������������203 Implementing REST with Spring MVC �������������������������������������������������������������������������������������������������204 Asynchronous REST Services Using @Async Annotated Methods �����������������������������������������������������213 Using Spring HATEOAS �����������������������������������������������������������������������������������������������������������������������216 ix www.it-ebooks.info ■ Contents Summary ����������������������������������������������������������������������������������������������������������������������220 Quick Quiz ��������������������������������������������������������������������������������������������������������������������221 Practical Exercise ���������������������������������������������������������������������������������������������������������222 ■ Chapter 6: Spring Web with AJAX ���������������������������������������������������������������������229 What Is AJAX? ��������������������������������������������������������������������������������������������������������������229 Making AJAX Requests�������������������������������������������������������������������������������������������������233 Introducing jQuery ��������������������������������������������������������������������������������������������������������236 jQuery HTML DOM Manipulation ���������������������������������������������������������������������������������������������������������240 jQuery AJAX Calls �������������������������������������������������������������������������������������������������������������������������������243 Spring MVC, AJAX, and jQuery ��������������������������������������������������������������������������������������245 Using REST-Style Remoting with JSON ����������������������������������������������������������������������������������������������246 Custom Tags �����������������������������������������������������������������������������������������������������������������250 Summary ����������������������������������������������������������������������������������������������������������������������253 Quick Quiz ��������������������������������������������������������������������������������������������������������������������253 Practical Exercise ���������������������������������������������������������������������������������������������������������254 ■ Chapter 7: Spring Web Flow ������������������������������������������������������������������������������257 What Is a Flow? ������������������������������������������������������������������������������������������������������������257 Web Flow Architecture �������������������������������������������������������������������������������������������������259 Web Flow Internal Logic �����������������������������������������������������������������������������������������������261 Configuration and Infrastructure Beans �����������������������������������������������������������������������262 Configuration Using XML ��������������������������������������������������������������������������������������������������������������������263 Configuration Using Annotations ��������������������������������������������������������������������������������������������������������267 Create a Flow ���������������������������������������������������������������������������������������������������������������272 Flow Definition ������������������������������������������������������������������������������������������������������������������������������������273 Action States ��������������������������������������������������������������������������������������������������������������������������������������304 Decision States ������������������������������������������������������������������������������������������������������������311 Exception Handling �������������������������������������������������������������������������������������������������������312 x www.it-ebooks.info ■ Contents Subflows ����������������������������������������������������������������������������������������������������������������������322 Flow Definition Inheritance ������������������������������������������������������������������������������������������326 Securing Web Flows �����������������������������������������������������������������������������������������������������327 Introduction to Spring Security �����������������������������������������������������������������������������������������������������������327 Why Spring Security Is Awesome �������������������������������������������������������������������������������������������������������328 Spring Security XML Configuration �����������������������������������������������������������������������������������������������������330 Spring Security Java Configuration ����������������������������������������������������������������������������������������������������343 Securing Flow Definitions �������������������������������������������������������������������������������������������������������������������350 Summary ����������������������������������������������������������������������������������������������������������������������357 Quick Quiz ��������������������������������������������������������������������������������������������������������������������358 Practical Exercise ���������������������������������������������������������������������������������������������������������364 ■ Chapter 8: Spring Boot and WebSocket �������������������������������������������������������������367 What Is Spring Boot? ����������������������������������������������������������������������������������������������������367 Usage and Configuration ����������������������������������������������������������������������������������������������368 Customizing Spring Boot ��������������������������������������������������������������������������������������������������������������������373 Importing Additional Configuration Elements �������������������������������������������������������������������������������������380 Running Spring Boot Applications ������������������������������������������������������������������������������������������������������381 Testing Spring Boot Applications ��������������������������������������������������������������������������������������������������������383 WebSocket Introduction �����������������������������������������������������������������������������������������������385 Spring WebSocket Implementation ������������������������������������������������������������������������������386 Spring WebSocket Configuration ����������������������������������������������������������������������������������390 WebSocket Client Application ���������������������������������������������������������������������������������������392 Configure the Server Application to Send Scheduled Messages ��������������������������������������������������������397 Monitoring and Debugging �����������������������������������������������������������������������������������������������������������������398 xi www.it-ebooks.info

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.