├── .editorconfig ├── .gitignore ├── 9781484256657.jpg ├── Contributing.adoc ├── Errata.adoc ├── LICENSE.txt ├── README.adoc ├── bookstore-mvc-shared ├── bookstore-mvc-shared.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── config │ │ ├── DbConfiguration.java │ │ ├── DbPopulator.java │ │ └── JpaConfiguration.java │ │ ├── converter │ │ └── StringToEntityConverter.java │ │ ├── domain │ │ ├── Account.java │ │ ├── Address.java │ │ ├── Book.java │ │ ├── BookSearchCriteria.java │ │ ├── Cart.java │ │ ├── Category.java │ │ ├── Order.java │ │ ├── OrderDetail.java │ │ ├── Permission.java │ │ └── Role.java │ │ ├── formatter │ │ ├── DateFormat.java │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ └── DateFormatter.java │ │ ├── repository │ │ ├── AccountRepository.java │ │ ├── BookRepository.java │ │ ├── CategoryRepository.java │ │ ├── OrderRepository.java │ │ └── RoleRepository.java │ │ ├── service │ │ ├── AccountService.java │ │ ├── AccountServiceImpl.java │ │ ├── BookstoreService.java │ │ ├── BookstoreServiceImpl.java │ │ ├── CategoryService.java │ │ ├── CategoryServiceImpl.java │ │ ├── FileStorageService.java │ │ └── FileStorageServiceImpl.java │ │ ├── util │ │ ├── ConfigurationException.java │ │ ├── Properties.java │ │ └── WebFile.java │ │ └── validation │ │ ├── AccountValidator.java │ │ └── OrderValidator.java │ └── resources │ ├── META-INF │ └── resources │ │ ├── css │ │ └── style.css │ │ ├── images │ │ ├── Thumbs.db │ │ ├── about.gif │ │ ├── banner.gif │ │ ├── big_pic.jpg │ │ ├── blank.gif │ │ ├── books │ │ │ ├── 9780132350884 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780135974445 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780201485677 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780321356680 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781430209737 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781484227893 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781484237779 │ │ │ │ └── book_front_cover.png │ │ │ └── 9781484251355 │ │ │ │ └── book_front_cover.png │ │ ├── border.gif │ │ ├── box_bottom.gif │ │ ├── box_center.gif │ │ ├── box_top.gif │ │ ├── bullet1.gif │ │ ├── bullet2.gif │ │ ├── bullet3.gif │ │ ├── bullet4.gif │ │ ├── bullet5.gif │ │ ├── bullet6.gif │ │ ├── cart.gif │ │ ├── cart_thumb.gif │ │ ├── center_bg.gif │ │ ├── close.gif │ │ ├── closelabel.gif │ │ ├── color1.gif │ │ ├── color2.gif │ │ ├── color3.gif │ │ ├── contact_bt.gif │ │ ├── csscreme.gif │ │ ├── de.gif │ │ ├── footer_bg.gif │ │ ├── footer_logo.gif │ │ ├── fr.gif │ │ ├── gb.gif │ │ ├── header.jpg │ │ ├── left_menu_bullet.gif │ │ ├── loading.gif │ │ ├── logo.gif │ │ ├── new_icon.gif │ │ ├── new_prod_box.gif │ │ ├── next.gif │ │ ├── nextlabel.gif │ │ ├── nl.gif │ │ ├── order_now.gif │ │ ├── prev.gif │ │ ├── prevlabel.gif │ │ ├── prod1.gif │ │ ├── prod2.gif │ │ ├── promo_icon.gif │ │ ├── register_bt.gif │ │ ├── special_icon.gif │ │ ├── thumb1.gif │ │ ├── thumb2.gif │ │ ├── thumb3.gif │ │ └── zoom.gif │ │ └── jquery │ │ └── jquery-1.7.1.min.js │ ├── data.sql │ ├── db.properties │ ├── messages.properties │ ├── messages_en.properties │ └── messages_nl.properties ├── bookstore-shared ├── bookstore-shared.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── converter │ │ └── StringToEntityConverter.java │ │ ├── domain │ │ ├── Account.java │ │ ├── Address.java │ │ ├── Book.java │ │ ├── BookSearchCriteria.java │ │ ├── Cart.java │ │ ├── Category.java │ │ ├── Order.java │ │ ├── OrderDetail.java │ │ ├── Permission.java │ │ └── Role.java │ │ ├── formatter │ │ ├── DateFormat.java │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ └── DateFormatter.java │ │ ├── repository │ │ ├── AccountRepository.java │ │ ├── BookRepository.java │ │ ├── CategoryRepository.java │ │ ├── OrderRepository.java │ │ └── RoleRepository.java │ │ ├── service │ │ ├── AccountService.java │ │ ├── AccountServiceImpl.java │ │ ├── AuthenticationException.java │ │ ├── BookstoreService.java │ │ ├── BookstoreServiceImpl.java │ │ ├── CategoryService.java │ │ ├── CategoryServiceImpl.java │ │ ├── FileStorageService.java │ │ └── FileStorageServiceImpl.java │ │ ├── util │ │ ├── Properties.java │ │ └── WebFile.java │ │ └── validation │ │ ├── AccountValidator.java │ │ └── OrderValidator.java │ └── resources │ ├── META-INF │ └── resources │ │ ├── css │ │ └── style.css │ │ ├── images │ │ ├── Thumbs.db │ │ ├── about.gif │ │ ├── banner.gif │ │ ├── big_pic.jpg │ │ ├── blank.gif │ │ ├── books │ │ │ ├── 9780132350884 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780135974445 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780201485677 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780321356680 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781430209737 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781484227893 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781484237779 │ │ │ │ └── book_front_cover.png │ │ │ └── 9781484251355 │ │ │ │ └── book_front_cover.png │ │ ├── border.gif │ │ ├── box_bottom.gif │ │ ├── box_center.gif │ │ ├── box_top.gif │ │ ├── bullet1.gif │ │ ├── bullet2.gif │ │ ├── bullet3.gif │ │ ├── bullet4.gif │ │ ├── bullet5.gif │ │ ├── bullet6.gif │ │ ├── cart.gif │ │ ├── cart_thumb.gif │ │ ├── center_bg.gif │ │ ├── close.gif │ │ ├── closelabel.gif │ │ ├── color1.gif │ │ ├── color2.gif │ │ ├── color3.gif │ │ ├── contact_bt.gif │ │ ├── csscreme.gif │ │ ├── de.gif │ │ ├── footer_bg.gif │ │ ├── footer_logo.gif │ │ ├── fr.gif │ │ ├── gb.gif │ │ ├── header.jpg │ │ ├── left_menu_bullet.gif │ │ ├── loading.gif │ │ ├── logo.gif │ │ ├── new_icon.gif │ │ ├── new_prod_box.gif │ │ ├── next.gif │ │ ├── nextlabel.gif │ │ ├── nl.gif │ │ ├── order_now.gif │ │ ├── prev.gif │ │ ├── prevlabel.gif │ │ ├── prod1.gif │ │ ├── prod2.gif │ │ ├── promo_icon.gif │ │ ├── register_bt.gif │ │ ├── special_icon.gif │ │ ├── thumb1.gif │ │ ├── thumb2.gif │ │ ├── thumb3.gif │ │ └── zoom.gif │ │ └── jquery │ │ └── jquery-1.7.1.min.js │ ├── data.sql │ ├── messages.properties │ ├── messages_en.properties │ └── messages_nl.properties ├── build.gradle ├── chapter1-bookstore ├── chapter1-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ └── web │ │ └── IndexController.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ └── views │ │ └── index.jsp │ └── index.jsp ├── chapter1-mvc-bookstore ├── chapter1-mvc-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── WebMvcContextConfiguration.java │ │ └── web │ │ ├── IndexController.java │ │ └── config │ │ └── BookstoreWebApplicationInitializer.java │ ├── logback.xml │ └── webapp │ ├── WEB-INF │ └── views │ │ └── index.jsp │ └── index.jsp ├── chapter10-1-bookstore ├── README.adoc ├── chapter10-1-bookstore.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── BookstoreApplicationOne.java │ │ │ ├── config │ │ │ ├── DbPopulator.java │ │ │ ├── ReactiveThymeleafWebConfig.java │ │ │ └── RoutingConfig.java │ │ │ ├── controller │ │ │ ├── BookDetailController.java │ │ │ ├── BookSearchController.java │ │ │ ├── IndexController.java │ │ │ ├── LoginController.java │ │ │ └── RegistrationController.java │ │ │ ├── document │ │ │ ├── Account.java │ │ │ ├── Address.java │ │ │ ├── Book.java │ │ │ ├── Cart.java │ │ │ ├── Order.java │ │ │ └── OrderDetail.java │ │ │ ├── handler │ │ │ └── BookHandler.java │ │ │ ├── repository │ │ │ ├── AccountRepository.java │ │ │ ├── BookRepository.java │ │ │ ├── CustomBookRepository.java │ │ │ └── CustomBookRepositoryImpl.java │ │ │ ├── service │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── BookstoreService.java │ │ │ └── BookstoreServiceImpl.java │ │ │ └── util │ │ │ ├── BookSearchCriteria.java │ │ │ ├── LanguageQueryParameterWebFilter.java │ │ │ ├── formatter │ │ │ ├── DateFormat.java │ │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ │ └── DateFormatter.java │ │ │ └── validation │ │ │ ├── AccountValidator.java │ │ │ ├── BookValidator.java │ │ │ └── OrderValidator.java │ └── resources │ │ ├── application.yml │ │ ├── languages │ │ ├── messages.properties │ │ ├── messages_en.properties │ │ └── messages_nl.properties │ │ ├── mongo.properties │ │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── favicon.ico │ │ ├── images │ │ │ ├── Thumbs.db │ │ │ ├── about.gif │ │ │ ├── banner.gif │ │ │ ├── big_pic.jpg │ │ │ ├── blank.gif │ │ │ ├── books │ │ │ │ ├── 9780132350884 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9780135974445 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9780201485677 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9780321356680 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9781430209737 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9781484227893 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9781484237779 │ │ │ │ │ └── book_front_cover.png │ │ │ │ └── 9781484251355 │ │ │ │ │ └── book_front_cover.png │ │ │ ├── border.gif │ │ │ ├── box_bottom.gif │ │ │ ├── box_center.gif │ │ │ ├── box_top.gif │ │ │ ├── bullet1.gif │ │ │ ├── bullet2.gif │ │ │ ├── bullet3.gif │ │ │ ├── bullet4.gif │ │ │ ├── bullet5.gif │ │ │ ├── bullet6.gif │ │ │ ├── cart.gif │ │ │ ├── cart_thumb.gif │ │ │ ├── center_bg.gif │ │ │ ├── close.gif │ │ │ ├── closelabel.gif │ │ │ ├── color1.gif │ │ │ ├── color2.gif │ │ │ ├── color3.gif │ │ │ ├── contact_bt.gif │ │ │ ├── csscreme.gif │ │ │ ├── de.gif │ │ │ ├── footer_bg.gif │ │ │ ├── footer_logo.gif │ │ │ ├── fr.gif │ │ │ ├── gb.gif │ │ │ ├── header.jpg │ │ │ ├── left_menu_bullet.gif │ │ │ ├── loading.gif │ │ │ ├── logo.gif │ │ │ ├── new_icon.gif │ │ │ ├── new_prod_box.gif │ │ │ ├── next.gif │ │ │ ├── nextlabel.gif │ │ │ ├── nl.gif │ │ │ ├── order_now.gif │ │ │ ├── prev.gif │ │ │ ├── prevlabel.gif │ │ │ ├── prod1.gif │ │ │ ├── prod2.gif │ │ │ ├── promo_icon.gif │ │ │ ├── register_bt.gif │ │ │ ├── special_icon.gif │ │ │ ├── thumb1.gif │ │ │ ├── thumb2.gif │ │ │ ├── thumb3.gif │ │ │ └── zoom.gif │ │ └── jquery │ │ │ └── jquery-1.7.1.min.js │ │ └── templates │ │ ├── book │ │ ├── detail.html │ │ └── search.html │ │ ├── cart │ │ └── checkout.html │ │ ├── customer │ │ ├── account.html │ │ └── register.html │ │ ├── index.html │ │ ├── login.html │ │ └── template │ │ └── layout.html │ └── test │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── api │ │ └── BookApiTest.java │ │ └── repository │ │ ├── BookstoreServiceTest.java │ │ └── RepositoryTest.java │ └── resources │ └── application.yml ├── chapter10-2-bookstore ├── README.adoc ├── chapter10-2-bookstore.gradle ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── prospringmvc │ │ │ │ └── bookstore │ │ │ │ ├── BookstoreApplicationTwo.java │ │ │ │ ├── config │ │ │ │ ├── DbPopulator.java │ │ │ │ ├── ReactiveThymeleafWebConfig.java │ │ │ │ └── RoutingConfig.java │ │ │ │ ├── controller │ │ │ │ ├── BookDetailController.java │ │ │ │ ├── BookSearchController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── RegistrationController.java │ │ │ │ └── UtilController.java │ │ │ │ ├── document │ │ │ │ ├── Account.java │ │ │ │ ├── Address.java │ │ │ │ ├── Book.java │ │ │ │ ├── Cart.java │ │ │ │ ├── Order.java │ │ │ │ └── OrderDetail.java │ │ │ │ ├── handler │ │ │ │ └── BookHandler.java │ │ │ │ ├── repository │ │ │ │ ├── AccountRepository.java │ │ │ │ ├── BookRepository.java │ │ │ │ ├── CustomBookRepository.java │ │ │ │ └── CustomBookRepositoryImpl.java │ │ │ │ ├── service │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── BookstoreService.java │ │ │ │ └── BookstoreServiceImpl.java │ │ │ │ └── util │ │ │ │ ├── BookNewReleasesUtil.java │ │ │ │ ├── BookSearchCriteria.java │ │ │ │ ├── MissingValueException.java │ │ │ │ ├── MissingValuesExceptionHandler.java │ │ │ │ ├── ServiceProblems.java │ │ │ │ ├── formatter │ │ │ │ ├── DateFormat.java │ │ │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ │ │ └── DateFormatter.java │ │ │ │ └── validation │ │ │ │ ├── AccountValidator.java │ │ │ │ ├── BookValidator.java │ │ │ │ └── OrderValidator.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── languages │ │ │ ├── messages.properties │ │ │ ├── messages_en.properties │ │ │ └── messages_nl.properties │ │ │ ├── mongo.properties │ │ │ ├── static │ │ │ ├── css │ │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── Thumbs.db │ │ │ │ ├── about.gif │ │ │ │ ├── banner.gif │ │ │ │ ├── big_pic.jpg │ │ │ │ ├── blank.gif │ │ │ │ ├── books │ │ │ │ │ ├── 9780132350884 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780135974445 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780201485677 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780321356680 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781430209737 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781484227893 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781484230042 │ │ │ │ │ │ └── java_for_absolute_beginners_2nd_edition.png │ │ │ │ │ ├── 9781484237779 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ └── 9781484251355 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── border.gif │ │ │ │ ├── box_bottom.gif │ │ │ │ ├── box_center.gif │ │ │ │ ├── box_top.gif │ │ │ │ ├── bullet1.gif │ │ │ │ ├── bullet2.gif │ │ │ │ ├── bullet3.gif │ │ │ │ ├── bullet4.gif │ │ │ │ ├── bullet5.gif │ │ │ │ ├── bullet6.gif │ │ │ │ ├── cart.gif │ │ │ │ ├── cart_thumb.gif │ │ │ │ ├── center_bg.gif │ │ │ │ ├── close.gif │ │ │ │ ├── closelabel.gif │ │ │ │ ├── color1.gif │ │ │ │ ├── color2.gif │ │ │ │ ├── color3.gif │ │ │ │ ├── contact_bt.gif │ │ │ │ ├── csscreme.gif │ │ │ │ ├── de.gif │ │ │ │ ├── footer_bg.gif │ │ │ │ ├── footer_logo.gif │ │ │ │ ├── fr.gif │ │ │ │ ├── gb.gif │ │ │ │ ├── header.jpg │ │ │ │ ├── left_menu_bullet.gif │ │ │ │ ├── loading.gif │ │ │ │ ├── logo.gif │ │ │ │ ├── new_icon.gif │ │ │ │ ├── new_prod_box.gif │ │ │ │ ├── news.ico │ │ │ │ ├── next.gif │ │ │ │ ├── nextlabel.gif │ │ │ │ ├── nl.gif │ │ │ │ ├── order_now.gif │ │ │ │ ├── prev.gif │ │ │ │ ├── prevlabel.gif │ │ │ │ ├── prod1.gif │ │ │ │ ├── prod2.gif │ │ │ │ ├── promo_icon.gif │ │ │ │ ├── register_bt.gif │ │ │ │ ├── release.ico │ │ │ │ ├── special_icon.gif │ │ │ │ ├── thumb1.gif │ │ │ │ ├── thumb2.gif │ │ │ │ ├── thumb3.gif │ │ │ │ └── zoom.gif │ │ │ └── jquery │ │ │ │ └── jquery-1.7.1.min.js │ │ │ └── templates │ │ │ ├── book │ │ │ ├── detail.html │ │ │ └── search.html │ │ │ ├── cart │ │ │ └── checkout.html │ │ │ ├── customer │ │ │ ├── account.html │ │ │ └── register.html │ │ │ ├── index.html │ │ │ ├── login.html │ │ │ └── template │ │ │ └── layout.html │ └── test │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── api │ │ │ └── BookApiTest.java │ │ │ ├── repository │ │ │ └── RepositoryTest.java │ │ │ ├── service │ │ │ └── BookstoreServiceTest.java │ │ │ └── web │ │ │ ├── BookstoreProdWebTest.java │ │ │ └── BookstoreWebTest.java │ │ └── resources │ │ └── application.yml └── tech-news.js ├── chapter10-3-bookstore ├── README.adoc ├── chapter10-3-bookstore.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── BookstoreApplicationThree.java │ │ │ ├── config │ │ │ ├── DbPopulator.java │ │ │ ├── LocaleSupportConfig.java │ │ │ ├── ReactiveThymeleafWebConfig.java │ │ │ ├── RoutingConfig.java │ │ │ └── i18n │ │ │ │ └── CookieParamLocaleResolver.java │ │ │ ├── controller │ │ │ ├── BookDetailController.java │ │ │ ├── BookSearchController.java │ │ │ ├── IndexController.java │ │ │ ├── LoginController.java │ │ │ ├── RegistrationController.java │ │ │ └── UtilController.java │ │ │ ├── document │ │ │ ├── Account.java │ │ │ ├── Address.java │ │ │ ├── Book.java │ │ │ ├── Cart.java │ │ │ ├── Order.java │ │ │ └── OrderDetail.java │ │ │ ├── handler │ │ │ ├── BookHandler.java │ │ │ └── IndexHandler.java │ │ │ ├── repository │ │ │ ├── AccountRepository.java │ │ │ ├── BookRepository.java │ │ │ ├── CustomBookRepository.java │ │ │ └── CustomBookRepositoryImpl.java │ │ │ ├── service │ │ │ ├── AccountService.java │ │ │ ├── AccountServiceImpl.java │ │ │ ├── BookstoreService.java │ │ │ └── BookstoreServiceImpl.java │ │ │ └── util │ │ │ ├── BookNewReleasesUtil.java │ │ │ ├── BookSearchCriteria.java │ │ │ ├── ServiceProblems.java │ │ │ ├── formatter │ │ │ ├── DateFormat.java │ │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ │ └── DateFormatter.java │ │ │ └── validation │ │ │ ├── AccountValidator.java │ │ │ └── OrderValidator.java │ └── resources │ │ ├── application.yml │ │ ├── languages │ │ ├── messages.properties │ │ ├── messages_en.properties │ │ └── messages_nl.properties │ │ ├── mongo.properties │ │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── favicon.ico │ │ ├── images │ │ │ ├── Thumbs.db │ │ │ ├── about.gif │ │ │ ├── banner.gif │ │ │ ├── big_pic.jpg │ │ │ ├── blank.gif │ │ │ ├── books │ │ │ │ ├── 9780132350884 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9780135974445 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9780201485677 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9780321356680 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9781430209737 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9781484227893 │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── 9781484230042 │ │ │ │ │ └── java_for_absolute_beginners_2nd_edition.png │ │ │ │ ├── 9781484237779 │ │ │ │ │ └── book_front_cover.png │ │ │ │ └── 9781484251355 │ │ │ │ │ └── book_front_cover.png │ │ │ ├── border.gif │ │ │ ├── box_bottom.gif │ │ │ ├── box_center.gif │ │ │ ├── box_top.gif │ │ │ ├── bullet1.gif │ │ │ ├── bullet2.gif │ │ │ ├── bullet3.gif │ │ │ ├── bullet4.gif │ │ │ ├── bullet5.gif │ │ │ ├── bullet6.gif │ │ │ ├── cart.gif │ │ │ ├── cart_thumb.gif │ │ │ ├── center_bg.gif │ │ │ ├── close.gif │ │ │ ├── closelabel.gif │ │ │ ├── color1.gif │ │ │ ├── color2.gif │ │ │ ├── color3.gif │ │ │ ├── contact_bt.gif │ │ │ ├── csscreme.gif │ │ │ ├── de.gif │ │ │ ├── footer_bg.gif │ │ │ ├── footer_logo.gif │ │ │ ├── fr.gif │ │ │ ├── gb.gif │ │ │ ├── header.jpg │ │ │ ├── left_menu_bullet.gif │ │ │ ├── loading.gif │ │ │ ├── logo.gif │ │ │ ├── new_icon.gif │ │ │ ├── new_prod_box.gif │ │ │ ├── news.ico │ │ │ ├── next.gif │ │ │ ├── nextlabel.gif │ │ │ ├── nl.gif │ │ │ ├── order_now.gif │ │ │ ├── prev.gif │ │ │ ├── prevlabel.gif │ │ │ ├── prod1.gif │ │ │ ├── prod2.gif │ │ │ ├── promo_icon.gif │ │ │ ├── register_bt.gif │ │ │ ├── release.ico │ │ │ ├── special_icon.gif │ │ │ ├── thumb1.gif │ │ │ ├── thumb2.gif │ │ │ ├── thumb3.gif │ │ │ └── zoom.gif │ │ └── jquery │ │ │ └── jquery-1.7.1.min.js │ │ └── templates │ │ ├── book │ │ ├── detail.html │ │ └── search.html │ │ ├── cart │ │ └── checkout.html │ │ ├── customer │ │ ├── account.html │ │ └── register.html │ │ ├── index.html │ │ ├── login.html │ │ └── template │ │ └── layout.html │ └── test │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── repository │ │ └── RepositoryTest.java │ │ ├── service │ │ └── BookstoreServiceTest.java │ │ └── web │ │ ├── BookstoreProdWebTest.java │ │ └── BookstoreWebTest.java │ └── resources │ └── application.yml ├── chapter11-1-bookstore ├── chapter11-1-bookstore.gradle ├── package-lock.json └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ ├── ChatHandler.java │ │ └── web │ │ ├── UploadOrderForm.java │ │ ├── config │ │ ├── ViewConfiguration.java │ │ ├── WebMvcContextConfiguration.java │ │ └── WebSocketConfig.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── CartController.java │ │ ├── CheckoutController.java │ │ ├── LoginController.java │ │ ├── LogoutController.java │ │ ├── RegistrationController.java │ │ └── UploadOrderController.java │ │ ├── interceptor │ │ ├── CommonDataInterceptor.java │ │ └── SecurityHandlerInterceptor.java │ │ └── support │ │ ├── SessionAttribute.java │ │ └── SessionAttributeProcessor.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ └── views │ │ ├── book │ │ ├── detail.html │ │ └── search.html │ │ ├── cart │ │ └── checkout.html │ │ ├── chat.html │ │ ├── customer │ │ ├── account.html │ │ └── register.html │ │ ├── index.html │ │ ├── login.html │ │ └── template │ │ └── layout.html │ └── index.jsp ├── chapter11-2-bookstore ├── chapter11-2-bookstore.gradle ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── prospringmvc │ │ │ │ └── bookstore │ │ │ │ ├── WebSocketBookstoreApplication.java │ │ │ │ ├── config │ │ │ │ ├── DbPopulator.java │ │ │ │ ├── ReactiveThymeleafWebConfig.java │ │ │ │ └── RoutingConfig.java │ │ │ │ ├── controller │ │ │ │ ├── BookDetailController.java │ │ │ │ ├── BookSearchController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ └── RegistrationController.java │ │ │ │ ├── document │ │ │ │ ├── Account.java │ │ │ │ ├── Address.java │ │ │ │ ├── Book.java │ │ │ │ ├── Cart.java │ │ │ │ ├── Order.java │ │ │ │ └── OrderDetail.java │ │ │ │ ├── handler │ │ │ │ ├── AccountHandler.java │ │ │ │ ├── BookHandler.java │ │ │ │ ├── IndexHandler.java │ │ │ │ ├── TechNewsHandler.java │ │ │ │ └── WorseTechNewsHandler.java │ │ │ │ ├── repository │ │ │ │ ├── AccountRepository.java │ │ │ │ ├── BookRepository.java │ │ │ │ ├── CustomBookRepository.java │ │ │ │ └── CustomBookRepositoryImpl.java │ │ │ │ ├── service │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── BookstoreService.java │ │ │ │ └── BookstoreServiceImpl.java │ │ │ │ └── util │ │ │ │ ├── BadHandler.java │ │ │ │ ├── BookNewReleasesUtil.java │ │ │ │ ├── BookSearchCriteria.java │ │ │ │ ├── ServiceProblems.java │ │ │ │ ├── filter │ │ │ │ ├── CaseInsensitiveWebFilter.java │ │ │ │ └── LanguageQueryParameterWebFilter.java │ │ │ │ ├── formatter │ │ │ │ ├── DateFormat.java │ │ │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ │ │ └── DateFormatter.java │ │ │ │ └── validation │ │ │ │ ├── AccountValidator.java │ │ │ │ └── OrderValidator.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── languages │ │ │ ├── messages.properties │ │ │ ├── messages_en.properties │ │ │ └── messages_nl.properties │ │ │ ├── mongo.properties │ │ │ ├── static │ │ │ ├── css │ │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── Thumbs.db │ │ │ │ ├── about.gif │ │ │ │ ├── banner.gif │ │ │ │ ├── big_pic.jpg │ │ │ │ ├── blank.gif │ │ │ │ ├── books │ │ │ │ │ ├── 9780132350884 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780135974445 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780201485677 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780321356680 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781430209737 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781484227893 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781484230042 │ │ │ │ │ │ └── java_for_absolute_beginners_2nd_edition.png │ │ │ │ │ ├── 9781484237779 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ └── 9781484251355 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── border.gif │ │ │ │ ├── box_bottom.gif │ │ │ │ ├── box_center.gif │ │ │ │ ├── box_top.gif │ │ │ │ ├── bullet1.gif │ │ │ │ ├── bullet2.gif │ │ │ │ ├── bullet3.gif │ │ │ │ ├── bullet4.gif │ │ │ │ ├── bullet5.gif │ │ │ │ ├── bullet6.gif │ │ │ │ ├── cart.gif │ │ │ │ ├── cart_thumb.gif │ │ │ │ ├── center_bg.gif │ │ │ │ ├── close.gif │ │ │ │ ├── closelabel.gif │ │ │ │ ├── color1.gif │ │ │ │ ├── color2.gif │ │ │ │ ├── color3.gif │ │ │ │ ├── contact_bt.gif │ │ │ │ ├── csscreme.gif │ │ │ │ ├── de.gif │ │ │ │ ├── footer_bg.gif │ │ │ │ ├── footer_logo.gif │ │ │ │ ├── fr.gif │ │ │ │ ├── gb.gif │ │ │ │ ├── header.jpg │ │ │ │ ├── left_menu_bullet.gif │ │ │ │ ├── loading.gif │ │ │ │ ├── logo.gif │ │ │ │ ├── new_icon.gif │ │ │ │ ├── new_prod_box.gif │ │ │ │ ├── news.ico │ │ │ │ ├── next.gif │ │ │ │ ├── nextlabel.gif │ │ │ │ ├── nl.gif │ │ │ │ ├── order_now.gif │ │ │ │ ├── prev.gif │ │ │ │ ├── prevlabel.gif │ │ │ │ ├── prod1.gif │ │ │ │ ├── prod2.gif │ │ │ │ ├── promo_icon.gif │ │ │ │ ├── register_bt.gif │ │ │ │ ├── release.ico │ │ │ │ ├── special_icon.gif │ │ │ │ ├── thumb1.gif │ │ │ │ ├── thumb2.gif │ │ │ │ ├── thumb3.gif │ │ │ │ └── zoom.gif │ │ │ └── jquery │ │ │ │ └── jquery-1.7.1.min.js │ │ │ └── templates │ │ │ ├── book │ │ │ ├── detail.html │ │ │ └── search.html │ │ │ ├── cart │ │ │ └── checkout.html │ │ │ ├── customer │ │ │ ├── account.html │ │ │ └── register.html │ │ │ ├── index.html │ │ │ ├── login.html │ │ │ └── template │ │ │ └── layout.html │ └── test │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── repository │ │ │ └── RepositoryTest.java │ │ │ ├── service │ │ │ └── BookstoreServiceTest.java │ │ │ └── web │ │ │ ├── BookstoreProdWebTest.java │ │ │ ├── BookstoreWebTest.java │ │ │ └── TechNewsFluxTest.java │ │ └── resources │ │ └── application.yml ├── tech-news-client.html └── tech-news-server.js ├── chapter11-3-client-bookstore ├── chapter11-3-client-bookstore.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── ClientController.java │ │ │ ├── ClientMessage.java │ │ │ ├── RSocketClientBookstoreApplication.java │ │ │ ├── RandomUtil.java │ │ │ └── book │ │ │ └── Book.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── apress │ └── prospringmvc │ └── bookstore │ └── ClientTest.java ├── chapter11-3-server-bookstore ├── chapter11-3-server-bookstore.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── ClientMessage.java │ │ │ ├── RSocketServerBookstoreApplication.java │ │ │ ├── book │ │ │ └── Book.java │ │ │ ├── controller │ │ │ └── ServerController.java │ │ │ └── util │ │ │ └── BookNewReleasesUtil.java │ └── resources │ │ └── application.yml │ └── test │ └── resources │ └── application.yml ├── chapter11-4-bookstore ├── chapter11-4-bookstore.gradle ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── apress │ │ │ │ └── prospringmvc │ │ │ │ └── bookstore │ │ │ │ ├── SecureBookstoreApplication.java │ │ │ │ ├── config │ │ │ │ ├── DbPopulator.java │ │ │ │ ├── ReactiveThymeleafWebConfig.java │ │ │ │ ├── RoutingConfig.java │ │ │ │ └── security │ │ │ │ │ ├── ReactiveAuthenticationService.java │ │ │ │ │ └── SecurityConfig.java │ │ │ │ ├── controller │ │ │ │ ├── BookDetailController.java │ │ │ │ ├── BookSearchController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ └── RegistrationController.java │ │ │ │ ├── document │ │ │ │ ├── Account.java │ │ │ │ ├── Address.java │ │ │ │ ├── Book.java │ │ │ │ ├── Cart.java │ │ │ │ ├── Order.java │ │ │ │ └── OrderDetail.java │ │ │ │ ├── handler │ │ │ │ ├── AccountHandler.java │ │ │ │ ├── BookHandler.java │ │ │ │ └── IndexHandler.java │ │ │ │ ├── repository │ │ │ │ ├── AccountRepository.java │ │ │ │ ├── BookRepository.java │ │ │ │ ├── CustomBookRepository.java │ │ │ │ └── CustomBookRepositoryImpl.java │ │ │ │ ├── service │ │ │ │ ├── AccountService.java │ │ │ │ ├── AccountServiceImpl.java │ │ │ │ ├── BookstoreService.java │ │ │ │ └── BookstoreServiceImpl.java │ │ │ │ └── util │ │ │ │ ├── BookNewReleasesUtil.java │ │ │ │ ├── BookSearchCriteria.java │ │ │ │ ├── ServiceProblems.java │ │ │ │ ├── filter │ │ │ │ ├── CaseInsensitiveWebFilter.java │ │ │ │ └── LanguageQueryParameterWebFilter.java │ │ │ │ ├── formatter │ │ │ │ ├── DateFormat.java │ │ │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ │ │ └── DateFormatter.java │ │ │ │ └── validation │ │ │ │ ├── AccountValidator.java │ │ │ │ └── OrderValidator.java │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── languages │ │ │ ├── messages.properties │ │ │ ├── messages_en.properties │ │ │ └── messages_nl.properties │ │ │ ├── mongo.properties │ │ │ ├── static │ │ │ ├── css │ │ │ │ └── style.css │ │ │ ├── favicon.ico │ │ │ ├── images │ │ │ │ ├── Thumbs.db │ │ │ │ ├── about.gif │ │ │ │ ├── banner.gif │ │ │ │ ├── big_pic.jpg │ │ │ │ ├── blank.gif │ │ │ │ ├── books │ │ │ │ │ ├── 9780132350884 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780135974445 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780201485677 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9780321356680 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781430209737 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781484227893 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ ├── 9781484230042 │ │ │ │ │ │ └── java_for_absolute_beginners_2nd_edition.png │ │ │ │ │ ├── 9781484237779 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ │ └── 9781484251355 │ │ │ │ │ │ └── book_front_cover.png │ │ │ │ ├── border.gif │ │ │ │ ├── box_bottom.gif │ │ │ │ ├── box_center.gif │ │ │ │ ├── box_top.gif │ │ │ │ ├── bullet1.gif │ │ │ │ ├── bullet2.gif │ │ │ │ ├── bullet3.gif │ │ │ │ ├── bullet4.gif │ │ │ │ ├── bullet5.gif │ │ │ │ ├── bullet6.gif │ │ │ │ ├── cart.gif │ │ │ │ ├── cart_thumb.gif │ │ │ │ ├── center_bg.gif │ │ │ │ ├── close.gif │ │ │ │ ├── closelabel.gif │ │ │ │ ├── color1.gif │ │ │ │ ├── color2.gif │ │ │ │ ├── color3.gif │ │ │ │ ├── contact_bt.gif │ │ │ │ ├── csscreme.gif │ │ │ │ ├── de.gif │ │ │ │ ├── footer_bg.gif │ │ │ │ ├── footer_logo.gif │ │ │ │ ├── fr.gif │ │ │ │ ├── gb.gif │ │ │ │ ├── header.jpg │ │ │ │ ├── left_menu_bullet.gif │ │ │ │ ├── loading.gif │ │ │ │ ├── logo.gif │ │ │ │ ├── new_icon.gif │ │ │ │ ├── new_prod_box.gif │ │ │ │ ├── news.ico │ │ │ │ ├── next.gif │ │ │ │ ├── nextlabel.gif │ │ │ │ ├── nl.gif │ │ │ │ ├── order_now.gif │ │ │ │ ├── prev.gif │ │ │ │ ├── prevlabel.gif │ │ │ │ ├── prod1.gif │ │ │ │ ├── prod2.gif │ │ │ │ ├── promo_icon.gif │ │ │ │ ├── register_bt.gif │ │ │ │ ├── release.ico │ │ │ │ ├── special_icon.gif │ │ │ │ ├── thumb1.gif │ │ │ │ ├── thumb2.gif │ │ │ │ ├── thumb3.gif │ │ │ │ └── zoom.gif │ │ │ └── jquery │ │ │ │ └── jquery-1.7.1.min.js │ │ │ └── templates │ │ │ ├── book │ │ │ ├── detail.html │ │ │ └── search.html │ │ │ ├── cart │ │ │ └── checkout.html │ │ │ ├── customer │ │ │ ├── account.html │ │ │ ├── list.html │ │ │ └── register.html │ │ │ ├── index.html │ │ │ ├── login.html │ │ │ └── template │ │ │ └── layout.html │ └── test │ │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── api │ │ │ └── BookSecuredApiTest.java │ │ │ ├── repository │ │ │ └── RepositoryTest.java │ │ │ ├── service │ │ │ └── BookstoreServiceTest.java │ │ │ └── web │ │ │ ├── BookstoreProdWebTest.java │ │ │ └── BookstoreWebTest.java │ │ └── resources │ │ └── application.yml └── tech-news.js ├── chapter12-bookstore ├── chapter12-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ ├── service │ │ └── AuthenticationServiceImpl.java │ │ └── web │ │ ├── UploadOrderForm.java │ │ ├── config │ │ ├── ViewConfiguration.java │ │ ├── WebMvcContextConfiguration.java │ │ └── sec │ │ │ ├── AuthenticationDataPopulator.java │ │ │ ├── BookstoreAuthenticationProvider.java │ │ │ └── SecurityConfiguration.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── AdminController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── CartController.java │ │ ├── CheckoutController.java │ │ ├── LogoutController.java │ │ ├── RegistrationController.java │ │ └── UploadOrderController.java │ │ └── interceptor │ │ └── CommonDataInterceptor.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ └── views │ │ ├── book │ │ ├── detail.html │ │ └── search.html │ │ ├── cart │ │ └── checkout.html │ │ ├── customer │ │ ├── account.html │ │ ├── list.html │ │ └── register.html │ │ ├── index.html │ │ ├── login.html │ │ └── template │ │ └── layout.html │ └── index.jsp ├── chapter12-mvc-bookstore ├── chapter12-mvc-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ └── web │ │ ├── UploadOrderForm.java │ │ ├── config │ │ ├── BookstoreWebApplicationInitializer.java │ │ ├── SwaggerConfig.java │ │ ├── ViewConfiguration.java │ │ ├── WebMvcContextConfiguration.java │ │ └── sec │ │ │ ├── AuthenticationDataPopulator.java │ │ │ ├── BookstoreAuthenticationProvider.java │ │ │ ├── SecurityConfiguration.java │ │ │ └── SecurityInitializer.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── AdminController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── CartController.java │ │ ├── CheckoutController.java │ │ ├── IndexController.java │ │ ├── RegistrationController.java │ │ └── UploadOrderController.java │ │ └── interceptor │ │ └── CommonDataInterceptor.java │ ├── resources │ └── logback.xml │ └── webapp │ ├── WEB-INF │ ├── templates │ │ ├── footer.jsp │ │ ├── header.jsp │ │ └── template.jsp │ ├── tiles.xml │ └── views │ │ ├── book │ │ ├── detail.jsp │ │ └── search.jsp │ │ ├── cart │ │ └── checkout.jsp │ │ ├── customer │ │ ├── account.jsp │ │ ├── list.jsp │ │ └── register.jsp │ │ ├── error.jsp │ │ ├── index.jsp │ │ └── login.jsp │ └── index.jsp ├── chapter13-account-service ├── chapter13-account-service.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── account │ │ │ ├── AccountHandler.java │ │ │ ├── AccountPopulator.java │ │ │ ├── AccountRepository.java │ │ │ ├── AccountServiceApplication.java │ │ │ ├── document │ │ │ ├── Account.java │ │ │ └── Address.java │ │ │ ├── formatter │ │ │ ├── DateFormat.java │ │ │ ├── DateFormatAnnotationFormatterFactory.java │ │ │ └── DateFormatter.java │ │ │ └── service │ │ │ ├── AccountService.java │ │ │ └── AccountServiceImpl.java │ └── resources │ │ └── account-service.yml │ └── test │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── account │ │ ├── AccountRepositoryTest.java │ │ ├── AccountServiceTest.java │ │ └── web │ │ └── WebAccountTest.java │ └── resources │ └── application.yml ├── chapter13-book-service ├── chapter13-book-service.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── book │ │ │ ├── Book.java │ │ │ ├── BookPopulator.java │ │ │ ├── BookSearchCriteria.java │ │ │ ├── BookServiceApplication.java │ │ │ ├── handler │ │ │ └── BookHandler.java │ │ │ ├── repository │ │ │ ├── BookRepository.java │ │ │ ├── CustomBookRepository.java │ │ │ └── CustomBookRepositoryImpl.java │ │ │ └── service │ │ │ ├── BookService.java │ │ │ └── BookServiceImpl.java │ └── resources │ │ └── book-service.yml │ └── test │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── book │ │ ├── BookRepositoryTest.java │ │ ├── service │ │ └── BookServiceTest.java │ │ └── web │ │ ├── BookProdWebTest.java │ │ └── BookWebTest.java │ └── resources │ └── application.yml ├── chapter13-discovery-service ├── chapter13-discovery-service.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ └── DiscoveryServerApplication.java │ └── resources │ └── discovery-service.yml ├── chapter13-newreleases-service ├── chapter13-newreleases-service.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── newreleases │ │ ├── Book.java │ │ └── NewReleasesApplication.java │ └── resources │ └── newreleases-service.yml ├── chapter13-presentation-service ├── chapter13-presentation-service.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── presentation │ │ ├── Account.java │ │ ├── Address.java │ │ ├── Book.java │ │ ├── BookSearchCriteria.java │ │ ├── PresentationHandler.java │ │ ├── PresentationService.java │ │ ├── PresentationServiceApplication.java │ │ ├── ServiceProblems.java │ │ ├── ServiceUriBuilder.java │ │ └── config │ │ ├── CookieParamLocaleResolver.java │ │ ├── LocaleSupportConfig.java │ │ └── ReactiveThymeleafWebConfig.java │ └── resources │ ├── languages │ ├── messages.properties │ ├── messages_en.properties │ └── messages_nl.properties │ ├── presentation-service.yml │ ├── static │ ├── css │ │ └── style.css │ ├── favicon.ico │ ├── images │ │ ├── Thumbs.db │ │ ├── about.gif │ │ ├── banner.gif │ │ ├── big_pic.jpg │ │ ├── blank.gif │ │ ├── books │ │ │ ├── 9780132350884 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780135974445 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780201485677 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9780321356680 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781430209737 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781484227893 │ │ │ │ └── book_front_cover.png │ │ │ ├── 9781484230042 │ │ │ │ └── java_for_absolute_beginners_2nd_edition.png │ │ │ ├── 9781484237779 │ │ │ │ └── book_front_cover.png │ │ │ └── 9781484251355 │ │ │ │ └── book_front_cover.png │ │ ├── border.gif │ │ ├── box_bottom.gif │ │ ├── box_center.gif │ │ ├── box_top.gif │ │ ├── bullet1.gif │ │ ├── bullet2.gif │ │ ├── bullet3.gif │ │ ├── bullet4.gif │ │ ├── bullet5.gif │ │ ├── bullet6.gif │ │ ├── cart.gif │ │ ├── cart_thumb.gif │ │ ├── center_bg.gif │ │ ├── close.gif │ │ ├── closelabel.gif │ │ ├── color1.gif │ │ ├── color2.gif │ │ ├── color3.gif │ │ ├── contact_bt.gif │ │ ├── csscreme.gif │ │ ├── de.gif │ │ ├── footer_bg.gif │ │ ├── footer_logo.gif │ │ ├── fr.gif │ │ ├── gb.gif │ │ ├── header.jpg │ │ ├── left_menu_bullet.gif │ │ ├── loading.gif │ │ ├── logo.gif │ │ ├── new_icon.gif │ │ ├── new_prod_box.gif │ │ ├── news.ico │ │ ├── next.gif │ │ ├── nextlabel.gif │ │ ├── nl.gif │ │ ├── order_now.gif │ │ ├── prev.gif │ │ ├── prevlabel.gif │ │ ├── prod1.gif │ │ ├── prod2.gif │ │ ├── promo_icon.gif │ │ ├── register_bt.gif │ │ ├── release.ico │ │ ├── special_icon.gif │ │ ├── thumb1.gif │ │ ├── thumb2.gif │ │ ├── thumb3.gif │ │ └── zoom.gif │ └── jquery │ │ └── jquery-1.7.1.min.js │ └── templates │ ├── book │ ├── detail.html │ └── search.html │ ├── cart │ └── checkout.html │ ├── customer │ ├── account.html │ └── register.html │ ├── index.html │ ├── login.html │ └── template │ └── layout.html ├── chapter13-technews-service ├── chapter13-technews-service.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── technews │ │ └── TechNewsApplication.java │ └── resources │ └── technews-service.yml ├── chapter2-bookstore ├── chapter2-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ └── web │ │ └── IndexController.java │ └── resources │ ├── application.properties │ └── static │ └── index.html ├── chapter2-samples ├── chapter2-samples.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ ├── ApplicationContextLogger.java │ │ │ └── moneytransfer │ │ │ ├── annotation │ │ │ ├── ApplicationContextConfiguration.java │ │ │ ├── MoneyTransferServiceImpl.java │ │ │ ├── MoneyTransferSpring.java │ │ │ ├── hierarchy │ │ │ │ ├── ChildApplicationContextConfiguration.java │ │ │ │ ├── MoneyTransferSpring.java │ │ │ │ └── ParentApplicationContextConfiguration.java │ │ │ └── profiles │ │ │ │ ├── ApplicationContextConfiguration.java │ │ │ │ ├── MoneyTransferSpring.java │ │ │ │ └── StubTransactionRepository.java │ │ │ ├── constructor │ │ │ ├── domain │ │ │ ├── Account.java │ │ │ ├── MoneyTransferTransaction.java │ │ │ └── Transaction.java │ │ │ ├── jndi │ │ │ ├── JndiMoneyTransfer.java │ │ │ └── JndiMoneyTransferServiceImpl.java │ │ │ ├── repository │ │ │ ├── AccountRepository.java │ │ │ ├── MapBasedAccountRepository.java │ │ │ ├── MapBasedTransactionRepository.java │ │ │ └── TransactionRepository.java │ │ │ ├── scanning │ │ │ ├── ApplicationContextConfiguration.java │ │ │ ├── Main.java │ │ │ └── MoneyTransferServiceImpl.java │ │ │ ├── service │ │ │ ├── AbstractMoneyTransferService.java │ │ │ └── MoneyTransferService.java │ │ │ ├── setter │ │ │ ├── ApplicationContextConfiguration.java │ │ │ ├── MoneyTransferServiceImpl.java │ │ │ ├── MoneyTransferSpring.java │ │ │ └── MoneyTransferStandalone.java │ │ │ └── simple │ │ │ ├── SimpleMoneyTransfer.java │ │ │ └── SimpleMoneyTransferServiceImpl.java │ └── resources │ │ ├── jndi.properties │ │ └── logback.xml │ └── test │ └── java │ ├── ConversionServiceTest.java │ └── com │ └── apress │ └── prospringmvc │ └── moneytransfer │ ├── domain │ └── AccountTests.java │ └── repository │ ├── MapBasedAccountRepositoryTests.java │ └── MapBasedTransactionRepositoryTests.java ├── chapter5-bookstore ├── chapter5-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ └── web │ │ ├── config │ │ ├── ViewConfiguration.java │ │ └── WebMvcContextConfiguration.java │ │ └── controller │ │ ├── AccountController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── LoginController.java │ │ ├── LogoutController.java │ │ └── RegistrationController.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ └── views │ │ ├── book │ │ ├── detail.html │ │ └── search.html │ │ ├── customer │ │ ├── account.html │ │ └── register.html │ │ ├── index.html │ │ ├── login.html │ │ └── template │ │ └── layout.html │ └── index.jsp ├── chapter6-bookstore ├── chapter6-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ └── web │ │ ├── config │ │ ├── ViewConfiguration.java │ │ └── WebMvcContextConfiguration.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── CartController.java │ │ ├── CheckoutController.java │ │ ├── LoginController.java │ │ ├── LogoutController.java │ │ └── RegistrationController.java │ │ ├── interceptor │ │ ├── CommonDataInterceptor.java │ │ └── SecurityHandlerInterceptor.java │ │ └── method │ │ └── support │ │ ├── SessionAttribute.java │ │ └── SessionAttributeProcessor.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ ├── templates │ │ ├── footer.jsp │ │ ├── header.jsp │ │ └── template.jsp │ ├── tiles.xml │ └── views │ │ ├── book │ │ ├── detail.jsp │ │ └── search.jsp │ │ ├── cart │ │ └── checkout.jsp │ │ ├── customer │ │ ├── account.jsp │ │ └── register.jsp │ │ ├── index.jsp │ │ └── login.jsp │ └── index.jsp ├── chapter7-bookstore ├── chapter7-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ └── web │ │ ├── UploadOrderForm.java │ │ ├── config │ │ ├── ViewConfiguration.java │ │ └── WebMvcContextConfiguration.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── CartController.java │ │ ├── CheckoutController.java │ │ ├── LoginController.java │ │ ├── LogoutController.java │ │ ├── RegistrationController.java │ │ └── UploadOrderController.java │ │ ├── interceptor │ │ ├── CommonDataInterceptor.java │ │ └── SecurityHandlerInterceptor.java │ │ └── method │ │ └── support │ │ ├── SessionAttribute.java │ │ └── SessionAttributeProcessor.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ ├── templates │ │ ├── footer.jsp │ │ ├── header.jsp │ │ └── template.jsp │ ├── tiles.xml │ └── views │ │ ├── book │ │ ├── detail.jsp │ │ └── search.jsp │ │ ├── customer │ │ ├── account.jsp │ │ └── register.jsp │ │ ├── index.jsp │ │ └── login.jsp │ └── index.jsp ├── chapter8-bookstore ├── chapter8-bookstore.gradle └── src │ └── main │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplication.java │ │ └── web │ │ ├── UploadOrderForm.java │ │ ├── config │ │ ├── ViewConfiguration.java │ │ └── WebMvcContextConfiguration.java │ │ ├── controller │ │ ├── AccountController.java │ │ ├── BookDetailController.java │ │ ├── BookSearchController.java │ │ ├── CartController.java │ │ ├── CheckoutController.java │ │ ├── LoginController.java │ │ ├── LogoutController.java │ │ ├── RegistrationController.java │ │ └── UploadOrderController.java │ │ ├── interceptor │ │ ├── CommonDataInterceptor.java │ │ └── SecurityHandlerInterceptor.java │ │ ├── support │ │ ├── SessionAttribute.java │ │ └── SessionAttributeProcessor.java │ │ └── view │ │ ├── OrderExcelView.java │ │ └── OrderPdfView.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ └── views │ │ ├── book │ │ ├── detail.html │ │ └── search.html │ │ ├── cart │ │ └── checkout.html │ │ ├── customer │ │ ├── account.html │ │ └── register.html │ │ ├── index.html │ │ ├── login.html │ │ └── template │ │ └── layout.html │ └── index.jsp ├── chapter9-1-bookstore-no-boot ├── README.adoc ├── chapter9-1-bookstore-no-boot.gradle └── src │ ├── main │ └── java │ │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── AppConfiguration.java │ │ ├── Book.java │ │ ├── BookController.java │ │ ├── BookRepository.java │ │ ├── DataInitializer.java │ │ ├── IndexController.java │ │ └── WebAppInitializer.java │ └── test │ └── java │ └── com │ └── apress │ └── prospringmvc │ └── sandbox │ └── SimpleStreamsTest.java ├── chapter9-2-bookstore ├── README.adoc ├── chapter9-2-bookstore.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── Book.java │ │ │ ├── BookController.java │ │ │ ├── BookRepository.java │ │ │ ├── DataInitializer.java │ │ │ ├── IndexController.java │ │ │ └── ReactiveApp.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ └── BookstoreAppTest.java │ └── resources │ └── application-test.yml ├── chapter9-3-bookstore ├── README.adoc ├── chapter9-3-bookstore.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── apress │ │ │ └── prospringmvc │ │ │ └── bookstore │ │ │ ├── Book.java │ │ │ ├── BookHandler.java │ │ │ ├── BookRepository.java │ │ │ ├── BookRouter.java │ │ │ ├── BookService.java │ │ │ ├── BookServiceImpl.java │ │ │ ├── DataInitializer.java │ │ │ └── ReactiveApplication.java │ └── resources │ │ └── application.yml │ └── test │ ├── java │ └── com │ │ └── apress │ │ └── prospringmvc │ │ └── bookstore │ │ ├── BookstoreApplicationTest.java │ │ └── ReactiveServiceTest.java │ └── resources │ └── application.yml ├── gradle.properties ├── gradle └── wrapper │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.{adoc,bat,gradle,groovy,html,java,js,jsp,kt,kts,md,properties,py,rb,sh,sql,svg,txt,xml,xsd}] 4 | charset = utf-8 5 | 6 | [*.{gradle,groovy,java,kt,kts,xml,xsd}] 7 | indent_style = tab 8 | indent_size = 2 9 | continuation_indent_size = 4 10 | end_of_line = lf -------------------------------------------------------------------------------- /9781484256657.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/9781484256657.jpg -------------------------------------------------------------------------------- /Errata.adoc: -------------------------------------------------------------------------------- 1 | = Errata for *Book Title* 2 | 3 | On **page xx** [Summary of error]: 4 | 5 | Details of error here. Highlight key pieces in **bold**. 6 | 7 | *** 8 | 9 | On **page xx** [Summary of error]: 10 | 11 | Details of error here. Highlight key pieces in **bold**. 12 | 13 | *** -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/java/com/apress/prospringmvc/bookstore/repository/AccountRepository.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.repository; 2 | 3 | import com.apress.prospringmvc.bookstore.domain.Account; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | /** 7 | * Repository for working with {@link Account} domain objects 8 | * 9 | * @author Marten Deinum 10 | 11 | * 12 | */ 13 | public interface AccountRepository extends JpaRepository { 14 | 15 | Account findByUsername(String username); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/java/com/apress/prospringmvc/bookstore/service/AccountService.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.service; 2 | 3 | import com.apress.prospringmvc.bookstore.domain.Account; 4 | 5 | /** 6 | * Contract for services that work with an {@link Account}. 7 | * 8 | * @author Marten Deinum 9 | * 10 | */ 11 | public interface AccountService { 12 | 13 | Account save(Account account); 14 | 15 | Account getAccount(String username); 16 | } 17 | -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/java/com/apress/prospringmvc/bookstore/service/CategoryService.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.service; 2 | 3 | import com.apress.prospringmvc.bookstore.domain.Category; 4 | 5 | /** 6 | * Contract for services that work with an {@link Category}. 7 | * 8 | * @author Marten Deinum 9 | 10 | * 11 | */ 12 | public interface CategoryService { 13 | 14 | Category findById(long id); 15 | 16 | Iterable findAll(); 17 | 18 | void addCategory(Category category); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/java/com/apress/prospringmvc/bookstore/util/Properties.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.util; 2 | 3 | public class Properties { 4 | 5 | public static java.util.Properties of(String ... args){ 6 | java.util.Properties properties = new java.util.Properties(); 7 | int index = 0; 8 | do { 9 | properties.setProperty(args[index], args[++index]); 10 | ++index; 11 | } while(index < args.length); 12 | return properties; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/Thumbs.db -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/about.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/banner.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/big_pic.jpg -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/blank.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/border.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/box_bottom.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/box_center.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/box_top.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet1.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet2.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet3.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet4.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet5.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/bullet6.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/cart.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/cart_thumb.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/center_bg.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/close.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/closelabel.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/color1.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/color2.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/color3.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/contact_bt.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/csscreme.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/de.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/footer_bg.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/footer_logo.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/fr.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/gb.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/header.jpg -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/loading.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/logo.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/new_icon.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/new_prod_box.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/next.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/nextlabel.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/nl.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/order_now.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prev.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prevlabel.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prod1.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/prod2.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/promo_icon.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/register_bt.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/special_icon.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/thumb1.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/thumb2.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/thumb3.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/META-INF/resources/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/META-INF/resources/images/zoom.gif -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/db.properties: -------------------------------------------------------------------------------- 1 | # For running application with H2 in memory database 2 | db.url=jdbc:h2:./booksdb;DB_CLOSE_ON_EXIT=FALSE 3 | db.username=admin 4 | db.password=admin 5 | db.driverClassName=org.h2.Driver 6 | db.dialect=org.hibernate.dialect.H2Dialect 7 | db.hbm2ddl=create -------------------------------------------------------------------------------- /bookstore-mvc-shared/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-mvc-shared/src/main/resources/messages.properties -------------------------------------------------------------------------------- /bookstore-shared/bookstore-shared.gradle: -------------------------------------------------------------------------------- 1 | import org.springframework.boot.gradle.plugin.SpringBootPlugin 2 | 3 | dependencyManagement { 4 | imports { 5 | mavenBom SpringBootPlugin.BOM_COORDINATES 6 | } 7 | } 8 | 9 | dependencies { 10 | 11 | compile 'org.springframework.boot:spring-boot-starter-web' 12 | compile 'org.springframework.boot:spring-boot-starter-validation' 13 | compile 'org.springframework.boot:spring-boot-starter-data-jpa' 14 | 15 | } -------------------------------------------------------------------------------- /bookstore-shared/src/main/java/com/apress/prospringmvc/bookstore/repository/AccountRepository.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.repository; 2 | 3 | import com.apress.prospringmvc.bookstore.domain.Account; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | /** 7 | * Repository for working with {@link Account} domain objects 8 | * 9 | * @author Marten Deinum 10 | 11 | * 12 | */ 13 | public interface AccountRepository extends JpaRepository { 14 | 15 | Account findByUsername(String username); 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /bookstore-shared/src/main/java/com/apress/prospringmvc/bookstore/repository/CategoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.repository; 2 | 3 | import com.apress.prospringmvc.bookstore.domain.Category; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | /** 7 | * Repository for working with {@link Category} domain objects 8 | * 9 | * @author Marten Deinum 10 | */ 11 | public interface CategoryRepository extends JpaRepository { } 12 | -------------------------------------------------------------------------------- /bookstore-shared/src/main/java/com/apress/prospringmvc/bookstore/service/CategoryService.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.service; 2 | 3 | import com.apress.prospringmvc.bookstore.domain.Category; 4 | 5 | /** 6 | * Contract for services that work with an {@link Category}. 7 | * 8 | * @author Marten Deinum 9 | 10 | * 11 | */ 12 | public interface CategoryService { 13 | 14 | Category findById(long id); 15 | 16 | Iterable findAll(); 17 | 18 | void addCategory(Category category); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /bookstore-shared/src/main/java/com/apress/prospringmvc/bookstore/util/Properties.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.util; 2 | 3 | public class Properties { 4 | 5 | public static java.util.Properties of(String ... args){ 6 | java.util.Properties properties = new java.util.Properties(); 7 | int index = 0; 8 | do { 9 | properties.setProperty(args[index], args[++index]); 10 | ++index; 11 | } while(index < args.length); 12 | return properties; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/Thumbs.db -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/about.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/banner.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/big_pic.jpg -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/blank.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/border.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/box_bottom.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/box_center.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/box_top.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/bullet1.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/bullet2.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/bullet3.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/bullet4.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/bullet5.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/bullet6.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/cart.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/cart_thumb.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/center_bg.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/close.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/closelabel.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/color1.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/color2.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/color3.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/contact_bt.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/csscreme.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/de.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/footer_bg.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/footer_logo.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/fr.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/gb.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/header.jpg -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/loading.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/logo.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/new_icon.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/new_prod_box.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/next.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/nextlabel.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/nl.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/order_now.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/prev.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/prevlabel.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/prod1.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/prod2.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/promo_icon.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/register_bt.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/special_icon.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/thumb1.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/thumb2.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/thumb3.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/META-INF/resources/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/META-INF/resources/images/zoom.gif -------------------------------------------------------------------------------- /bookstore-shared/src/main/resources/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/bookstore-shared/src/main/resources/messages.properties -------------------------------------------------------------------------------- /chapter1-bookstore/chapter1-bookstore.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'war' 3 | } 4 | description 'Application showing how a simple Spring Boot Web Application would be configured and build.' 5 | 6 | dependencies { 7 | implementation 'org.springframework.boot:spring-boot-starter-web' 8 | implementation 'javax.servlet:jstl:1.2' 9 | providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') 10 | providedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper' 11 | } -------------------------------------------------------------------------------- /chapter1-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=chapter1-bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter1 4 | 5 | # Enable Debug Logging for Web related classes 6 | logging.level.root=INFO 7 | logging.level.web=DEBUG 8 | logging.level.org.hibernate=INFO 9 | -------------------------------------------------------------------------------- /chapter1-bookstore/src/main/webapp/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bookstore | Home 6 | 7 | 8 | 9 |

How exciting! Our first bookstore page!

10 |

The model says ${theModelKey}

11 | 12 | -------------------------------------------------------------------------------- /chapter1-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter1-mvc-bookstore/src/main/webapp/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bookstore | Home 6 | 7 | 8 | 9 |

How exciting! Our first bookstore page!

10 |

The model says: ${theModelKey}

11 | 12 | -------------------------------------------------------------------------------- /chapter1-mvc-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/languages/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/languages/messages.properties -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/mongo.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/mongo.properties -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/Thumbs.db -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/about.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/banner.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/big_pic.jpg -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/blank.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/border.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/box_bottom.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/box_center.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/box_top.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/bullet1.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/bullet2.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/bullet3.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/bullet4.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/bullet5.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/bullet6.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/cart.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/cart_thumb.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/center_bg.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/close.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/closelabel.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/color1.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/color2.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/color3.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/contact_bt.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/csscreme.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/de.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/footer_bg.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/footer_logo.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/fr.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/gb.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/header.jpg -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/loading.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/logo.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/new_icon.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/new_prod_box.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/next.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/nextlabel.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/nl.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/order_now.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/prev.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/prevlabel.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/prod1.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/prod2.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/promo_icon.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/register_bt.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/special_icon.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/thumb1.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/thumb2.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/thumb3.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/main/resources/static/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-1-bookstore/src/main/resources/static/images/zoom.gif -------------------------------------------------------------------------------- /chapter10-1-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/languages/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/languages/messages.properties -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/mongo.properties: -------------------------------------------------------------------------------- 1 | db.name=bookstore 2 | db.host=127.0.0.1 3 | db.port=27017 -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/Thumbs.db -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/about.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/banner.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/big_pic.jpg -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/blank.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/border.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/box_bottom.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/box_center.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/box_top.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/bullet1.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/bullet2.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/bullet3.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/bullet4.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/bullet5.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/bullet6.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/cart.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/cart_thumb.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/center_bg.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/close.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/closelabel.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/color1.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/color2.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/color3.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/contact_bt.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/csscreme.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/de.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/footer_bg.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/footer_logo.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/fr.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/gb.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/header.jpg -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/loading.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/logo.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/new_icon.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/new_prod_box.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/news.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/news.ico -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/next.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/nextlabel.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/nl.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/order_now.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/prev.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/prevlabel.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/prod1.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/prod2.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/promo_icon.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/register_bt.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/release.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/release.ico -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/special_icon.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/thumb1.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/thumb2.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/thumb3.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/main/resources/static/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-2-bookstore/src/main/resources/static/images/zoom.gif -------------------------------------------------------------------------------- /chapter10-2-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/languages/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/languages/messages.properties -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/mongo.properties: -------------------------------------------------------------------------------- 1 | db.name=bookstore 2 | db.host=127.0.0.1 3 | db.port=27017 -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/Thumbs.db -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/about.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/banner.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/big_pic.jpg -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/blank.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/border.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/box_bottom.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/box_center.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/box_top.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/bullet1.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/bullet2.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/bullet3.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/bullet4.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/bullet5.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/bullet6.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/cart.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/cart_thumb.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/center_bg.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/close.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/closelabel.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/color1.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/color2.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/color3.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/contact_bt.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/csscreme.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/de.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/footer_bg.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/footer_logo.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/fr.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/gb.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/header.jpg -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/loading.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/logo.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/new_icon.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/new_prod_box.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/news.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/news.ico -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/next.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/nextlabel.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/nl.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/order_now.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/prev.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/prevlabel.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/prod1.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/prod2.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/promo_icon.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/register_bt.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/release.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/release.ico -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/special_icon.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/thumb1.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/thumb2.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/thumb3.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/main/resources/static/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter10-3-bookstore/src/main/resources/static/images/zoom.gif -------------------------------------------------------------------------------- /chapter10-3-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter11-1-bookstore/chapter11-1-bookstore.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'war' 2 | 3 | dependencies { 4 | implementation project (':bookstore-shared') 5 | implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 6 | implementation 'org.springframework.boot:spring-boot-starter-websocket' 7 | implementation 'org.springframework.boot:spring-boot-starter-web' 8 | 9 | implementation 'com.h2database:h2' 10 | implementation 'commons-fileupload:commons-fileupload:1.4' 11 | } -------------------------------------------------------------------------------- /chapter11-1-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter11-1 4 | 5 | 6 | # Uploaded files properties 7 | spring.servlet.multipart.max-file-size=10MB 8 | spring.servlet.multipart.max-request-size=12MB 9 | 10 | # Enable Debug Logging for Web related classes 11 | 12 | logging.level.root=INFO 13 | logging.level.web=DEBUG 14 | logging.level.org.hibernate=INFO 15 | 16 | -------------------------------------------------------------------------------- /chapter11-1-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/java/com/apress/prospringmvc/bookstore/util/BadHandler.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore.util; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Created by Iuliana Cosmina on 15/08/2020 10 | */ 11 | @Target(value = {ElementType.TYPE, ElementType.METHOD}) 12 | @Retention(RetentionPolicy.SOURCE) 13 | public @interface BadHandler { 14 | } -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/languages/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/languages/messages.properties -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/mongo.properties: -------------------------------------------------------------------------------- 1 | db.name=bookstore 2 | db.host=127.0.0.1 3 | db.port=27017 -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/Thumbs.db -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/about.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/banner.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/big_pic.jpg -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/blank.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/border.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/box_bottom.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/box_center.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/box_top.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/bullet1.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/bullet2.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/bullet3.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/bullet4.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/bullet5.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/bullet6.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/cart.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/cart_thumb.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/center_bg.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/close.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/closelabel.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/color1.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/color2.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/color3.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/contact_bt.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/csscreme.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/de.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/footer_bg.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/footer_logo.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/fr.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/gb.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/header.jpg -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/loading.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/logo.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/new_icon.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/new_prod_box.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/news.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/news.ico -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/next.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/nextlabel.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/nl.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/order_now.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/prev.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/prevlabel.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/prod1.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/prod2.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/promo_icon.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/register_bt.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/release.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/release.ico -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/special_icon.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/thumb1.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/thumb2.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/thumb3.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/main/resources/static/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-2-bookstore/src/main/resources/static/images/zoom.gif -------------------------------------------------------------------------------- /chapter11-2-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter11-3-client-bookstore/chapter11-3-client-bookstore.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | dependencies { 4 | implementation 'org.springframework.boot:spring-boot-starter-webflux' 5 | implementation 'org.springframework.boot:spring-boot-starter-rsocket' 6 | 7 | testImplementation 'org.springframework.boot:spring-boot-starter-test' 8 | testImplementation 'io.projectreactor:reactor-test' 9 | } -------------------------------------------------------------------------------- /chapter11-3-client-bookstore/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-3-client-bookstore/src/main/resources/application.yml -------------------------------------------------------------------------------- /chapter11-3-server-bookstore/chapter11-3-server-bookstore.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | dependencies { 4 | // implementation 'org.springframework.boot:spring-boot-starter-webflux' 5 | implementation 'org.springframework.boot:spring-boot-starter-rsocket' 6 | } -------------------------------------------------------------------------------- /chapter11-3-server-bookstore/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | rsocket: 3 | server: 4 | transport: websocket 5 | port: 8081 6 | mapping-path: /rsocket # without this NettyWebServer starts on 8080, might be a bug !? 7 | main: 8 | lazy-initialization: true 9 | 10 | logging: 11 | level: 12 | root: INFO 13 | org.springframework: DEBUG 14 | com.apress.prospringmvc: DEBUG -------------------------------------------------------------------------------- /chapter11-3-server-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/languages/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/languages/messages.properties -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/mongo.properties: -------------------------------------------------------------------------------- 1 | db.name=bookstore 2 | db.host=127.0.0.1 3 | db.port=27017 -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/Thumbs.db -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/about.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/banner.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/big_pic.jpg -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/blank.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/border.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/box_bottom.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/box_center.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/box_top.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/bullet1.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/bullet2.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/bullet3.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/bullet4.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/bullet5.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/bullet6.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/cart.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/cart_thumb.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/center_bg.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/close.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/closelabel.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/color1.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/color2.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/color3.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/contact_bt.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/csscreme.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/de.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/footer_bg.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/footer_logo.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/fr.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/gb.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/header.jpg -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/loading.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/logo.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/new_icon.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/new_prod_box.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/news.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/news.ico -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/next.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/nextlabel.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/nl.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/order_now.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/prev.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/prevlabel.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/prod1.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/prod2.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/promo_icon.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/register_bt.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/release.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/release.ico -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/special_icon.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/thumb1.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/thumb2.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/thumb3.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/main/resources/static/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter11-4-bookstore/src/main/resources/static/images/zoom.gif -------------------------------------------------------------------------------- /chapter11-4-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter12-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter12-mvc-bookstore/src/main/webapp/WEB-INF/views/cart/checkout.jsp: -------------------------------------------------------------------------------- 1 |

Nothing here yet...

-------------------------------------------------------------------------------- /chapter12-mvc-bookstore/src/main/webapp/WEB-INF/views/error.jsp: -------------------------------------------------------------------------------- 1 | <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 2 | <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %> 3 | 4 |
5 | 6 |
7 |
-------------------------------------------------------------------------------- /chapter12-mvc-bookstore/src/main/webapp/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 3 | 4 |

Welcome to the Book Store(in debug mode)

5 | 6 | 7 | 8 |
    9 | 10 |
  • ${beanName}
  • 11 |
    12 |
13 |
14 | -------------------------------------------------------------------------------- /chapter12-mvc-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter13-account-service/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter13-book-service/src/main/java/com/apress/prospringmvc/book/repository/CustomBookRepository.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.book.repository; 2 | 3 | import com.apress.prospringmvc.book.Book; 4 | import org.springframework.data.domain.Pageable; 5 | import org.springframework.data.mongodb.core.query.Query; 6 | import reactor.core.publisher.Flux; 7 | 8 | /** 9 | * Created by Iuliana Cosmina on 26/07/2020 10 | */ 11 | public interface CustomBookRepository { 12 | Flux findRandom(Pageable pageable); 13 | 14 | Flux findAll(Query query); 15 | } 16 | -------------------------------------------------------------------------------- /chapter13-book-service/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc.bookstore: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /chapter13-discovery-service/chapter13-discovery-service.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | dependencies { 4 | implementation 'org.springframework.boot:spring-boot-actuator' 5 | implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server' 6 | } -------------------------------------------------------------------------------- /chapter13-newreleases-service/chapter13-newreleases-service.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | dependencies { 4 | implementation 'org.springframework.boot:spring-boot-starter-actuator' 5 | implementation 'org.springframework.boot:spring-boot-starter-webflux' 6 | implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' 7 | } -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/languages/messages.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/languages/messages.properties -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/Thumbs.db -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/about.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/about.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/banner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/banner.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/big_pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/big_pic.jpg -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/blank.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9780132350884/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9780132350884/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9780135974445/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9780135974445/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9780201485677/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9780201485677/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9780321356680/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9780321356680/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9781430209737/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9781430209737/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9781484227893/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9781484227893/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9781484230042/java_for_absolute_beginners_2nd_edition.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9781484237779/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9781484237779/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/books/9781484251355/book_front_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/books/9781484251355/book_front_cover.png -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/border.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/border.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/box_bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/box_bottom.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/box_center.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/box_center.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/box_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/box_top.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/bullet1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/bullet1.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/bullet2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/bullet2.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/bullet3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/bullet3.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/bullet4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/bullet4.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/bullet5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/bullet5.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/bullet6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/bullet6.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/cart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/cart.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/cart_thumb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/cart_thumb.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/center_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/center_bg.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/close.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/closelabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/closelabel.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/color1.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/color2.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/color3.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/contact_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/contact_bt.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/csscreme.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/csscreme.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/de.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/footer_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/footer_bg.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/footer_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/footer_logo.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/fr.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/gb.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/header.jpg -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/left_menu_bullet.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/left_menu_bullet.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/loading.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/logo.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/new_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/new_icon.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/new_prod_box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/new_prod_box.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/news.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/news.ico -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/next.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/nextlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/nextlabel.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/nl.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/order_now.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/order_now.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/prev.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/prevlabel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/prevlabel.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/prod1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/prod1.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/prod2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/prod2.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/promo_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/promo_icon.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/register_bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/register_bt.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/release.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/release.ico -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/special_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/special_icon.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/thumb1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/thumb1.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/thumb2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/thumb2.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/thumb3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/thumb3.gif -------------------------------------------------------------------------------- /chapter13-presentation-service/src/main/resources/static/images/zoom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/spring-mvc-and-webflux/a4f0e14ef67cc4621f12402597c8f1dd292fc4f8/chapter13-presentation-service/src/main/resources/static/images/zoom.gif -------------------------------------------------------------------------------- /chapter13-technews-service/chapter13-technews-service.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | dependencies { 4 | implementation 'org.springframework.boot:spring-boot-starter-actuator' 5 | implementation 'org.springframework.boot:spring-boot-starter-webflux' 6 | implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' 7 | } -------------------------------------------------------------------------------- /chapter2-bookstore/chapter2-bookstore.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation 'org.springframework.boot:spring-boot-starter-web' 3 | } -------------------------------------------------------------------------------- /chapter2-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter2 -------------------------------------------------------------------------------- /chapter2-bookstore/src/main/resources/static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Home 5 | 6 | 7 |

Welcome!

8 | 9 |

Welcome to the Book Store

10 | 11 | 12 | -------------------------------------------------------------------------------- /chapter2-samples/chapter2-samples.gradle: -------------------------------------------------------------------------------- 1 | dependencyManagement { 2 | imports { 3 | mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES 4 | } 5 | } 6 | 7 | dependencies { 8 | implementation 'org.springframework.boot:spring-boot-starter' 9 | implementation 'org.springframework:spring-tx' 10 | implementation 'org.springframework:spring-context-support' 11 | implementation 'com.github.h-thurow:simple-jndi:0.21.0' 12 | 13 | testImplementation 'org.springframework:spring-webmvc' 14 | } 15 | -------------------------------------------------------------------------------- /chapter2-samples/src/main/java/com/apress/prospringmvc/moneytransfer/repository/AccountRepository.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.moneytransfer.repository; 2 | 3 | import com.apress.prospringmvc.moneytransfer.domain.Account; 4 | 5 | /** 6 | * @author Marten Deinum 7 | */ 8 | public interface AccountRepository { 9 | 10 | Account find(String number); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /chapter2-samples/src/main/resources/jndi.properties: -------------------------------------------------------------------------------- 1 | java.naming.factory.initial=org.osjava.sj.SimpleContextFactory 2 | org.osjava.sj.root=build/ 3 | org.osjava.sj.jndi.shared = true 4 | org.osjava.sj.space=java:comp/env -------------------------------------------------------------------------------- /chapter2-samples/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /chapter5-bookstore/chapter5-bookstore.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'war' 2 | 3 | dependencies { 4 | implementation project (':bookstore-shared') 5 | implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 6 | implementation 'org.springframework.boot:spring-boot-starter-web' 7 | 8 | implementation 'com.h2database:h2' 9 | implementation 'commons-fileupload:commons-fileupload:1.4' 10 | } -------------------------------------------------------------------------------- /chapter5-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter5-bookstore 4 | 5 | # Enable Debug Logging for Web related classes 6 | logging.level.root=INFO 7 | logging.level.web=DEBUG 8 | logging.level.org.hibernate=INFO -------------------------------------------------------------------------------- /chapter5-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter6-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter6 4 | 5 | # Enable Debug Logging for Web related classes 6 | logging.level.root=INFO 7 | logging.level.web=DEBUG 8 | logging.level.org.hibernate=INFO -------------------------------------------------------------------------------- /chapter6-bookstore/src/main/webapp/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 |

Welcome to the Book Store

-------------------------------------------------------------------------------- /chapter6-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | <%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /chapter7-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter7 4 | spring.mvc.formcontent.filter.enabled=true 5 | 6 | # Uploaded files properties 7 | spring.servlet.multipart.max-file-size=128KB 8 | spring.servlet.multipart.max-request-size=128KB 9 | 10 | #server.error.whitelabel.enabled=false 11 | 12 | # Enable Debug Logging for Web related classes 13 | logging.level.root=INFO 14 | logging.level.web=DEBUG 15 | logging.level.org.hibernate=INFO 16 | 17 | -------------------------------------------------------------------------------- /chapter7-bookstore/src/main/webapp/WEB-INF/views/index.jsp: -------------------------------------------------------------------------------- 1 |

Welcome to the Book Store

-------------------------------------------------------------------------------- /chapter7-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter8-bookstore/chapter8-bookstore.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'war' 2 | 3 | dependencies { 4 | implementation project (':bookstore-shared') 5 | implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 6 | implementation 'org.springframework.boot:spring-boot-starter-web' 7 | 8 | implementation 'com.h2database:h2' 9 | implementation 'commons-fileupload:commons-fileupload:1.4' 10 | 11 | implementation 'com.github.librepdf:openpdf:1.3.20' 12 | implementation 'org.apache.poi:poi:4.1.2' 13 | } -------------------------------------------------------------------------------- /chapter8-bookstore/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.application.name=bookstore 2 | server.port=8080 3 | server.servlet.context-path=/chapter8 4 | 5 | 6 | # Uploaded files properties 7 | spring.servlet.multipart.max-file-size=10MB 8 | spring.servlet.multipart.max-request-size=12MB 9 | 10 | # Enable Debug Logging for Web related classes 11 | 12 | logging.level.root=INFO 13 | logging.level.web=DEBUG 14 | logging.level.org.hibernate=INFO 15 | 16 | -------------------------------------------------------------------------------- /chapter8-bookstore/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.sendRedirect("index.htm"); 3 | %> -------------------------------------------------------------------------------- /chapter9-1-bookstore-no-boot/src/main/java/com/apress/prospringmvc/bookstore/WebAppInitializer.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore; 2 | 3 | import org.springframework.web.server.adapter.AbstractReactiveWebInitializer; 4 | 5 | public class WebAppInitializer extends AbstractReactiveWebInitializer { 6 | 7 | @Override 8 | protected Class[] getConfigClasses() { 9 | return new Class[]{AppConfiguration.class}; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /chapter9-2-bookstore/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | host: 127.0.0.1 5 | port: 27017 6 | database: bookstore 7 | server: 8 | port: 8081 9 | servlet: 10 | context-path: / 11 | compression: 12 | enabled: true 13 | address: 0.0.0.0 14 | 15 | logging: 16 | pattern: 17 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 18 | level: 19 | root: INFO 20 | org.springframework: DEBUG 21 | com.apress.prospringmvc: DEBUG 22 | -------------------------------------------------------------------------------- /chapter9-2-bookstore/src/test/resources/application-test.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | host: 127.0.0.1 5 | port: 12345 6 | 7 | logging: 8 | pattern: 9 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 10 | level: 11 | root: INFO 12 | org.springframework: DEBUG 13 | com.apress.prospringmvc: DEBUG 14 | -------------------------------------------------------------------------------- /chapter9-3-bookstore/src/main/java/com/apress/prospringmvc/bookstore/BookService.java: -------------------------------------------------------------------------------- 1 | package com.apress.prospringmvc.bookstore; 2 | 3 | import reactor.core.publisher.Flux; 4 | import reactor.core.publisher.Mono; 5 | 6 | /** 7 | * Created by Iuliana Cosmina on 19/07/2020 8 | */ 9 | public interface BookService { 10 | Mono findByIsbn(String isbn); 11 | 12 | Flux findAll(); 13 | 14 | Mono save(Book book); 15 | 16 | Mono update(String id, Mono bookMono); 17 | 18 | Mono delete(String id); 19 | } 20 | -------------------------------------------------------------------------------- /chapter9-3-bookstore/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | mongodb: 4 | host: 127.0.0.1 5 | port: 27017 6 | database: bookstore 7 | server: 8 | port: 8081 9 | compression: 10 | enabled: true 11 | address: 0.0.0.0 12 | 13 | logging: 14 | pattern: 15 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 16 | level: 17 | root: INFO 18 | org.springframework: DEBUG 19 | com.apress.prospringmvc: DEBUG 20 | -------------------------------------------------------------------------------- /chapter9-3-bookstore/src/test/resources/application.yml: -------------------------------------------------------------------------------- 1 | logging: 2 | pattern: 3 | console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" 4 | level: 5 | root: INFO 6 | org.springframework: INFO 7 | com.apress.prospringmvc: DEBUG 8 | 9 | spring: 10 | data: 11 | mongodb: 12 | uri: mongodb://localhost:27017/book -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | group=com.apress.springmvc 2 | version=2.0.0-SNAPSHOT 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun May 17 15:12:15 BST 2020 2 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip 3 | zipStoreBase=GRADLE_USER_HOME --------------------------------------------------------------------------------