E-book details

Spring MVC 4. Projektowanie zaawansowanych aplikacji WWW

Spring MVC 4. Projektowanie zaawansowanych aplikacji WWW

Geoffroy Warin

Ebook

Wszyscy jesteśmy świadkami dynamicznego rozwoju branży aplikacji internetowych. Projektanci i programiści muszą jeszcze szybciej tworzyć coraz doskonalsze i atrakcyjniejsze aplikacje, a następnie błyskawicznie udostępniać je użytkownikom, przy dość ograniczonym budżecie. Platforma Spring Boot i środowiska chmurowe pozwalają sprostać tym wymaganiom: niezwykłe aplikacje można tworzyć i przekazywać w rekordowym tempie, w dodatku wyposażone w tak istotne funkcjonalności jak internacjonalizacja, sesje rozproszone, logowanie społecznościowe, wielowątkowość i wiele innych.

Jeśli programujesz w Javie, choć trochę znasz platformę Spring i chcesz tworzyć użyteczne oraz nowoczesne aplikacje WWW, masz w ręku właściwą książkę. Ten podręcznik w niezwykle praktyczny sposób podchodzi do zagadnienia budowy skomplikowanych aplikacji z wykorzystaniem nowoczesnych technologii.

Podczas lektury poszczególnych rozdziałów będziesz mógł od podstaw przyjrzeć się konstruowaniu w pełni działającej aplikacji WWW, a potem spróbować własnych sił w tej dziedzinie, z wykorzystaniem internacjonalizacji, weryfikacji formularzy oraz obsługi rozproszonych sesji i pamięci podręcznej. Dowiesz się również, jak porządnie przetestować aplikację i opublikować ją w internecie.

W tej książce znajdziesz:

  • praktyczne omówienie platformy Spring Boot i Spring Tool Suite
  • wyjaśnienie implementacji architektury MVC
  • wskazówki dotyczące projektowania zaawansowanych formularzy, weryfikacji typów danych wprowadzanych przez użytkownika i obsługi błędów
  • zasady działania aplikacji REST i wykorzystywania zapytań HTTP
  • wyczerpujące omówienie zagadnień bezpieczeństwa aplikacji
  • opis dobrych praktyk, takich jak testy jednostkowe i testy akceptacji, optymalizacja zapytań, metody zarządzania pamięcią podręczną

Programuj jak mistrz — odkryj Spring MVC!


Geoffroy Warin — programuje od dziecka. Jest gorącym orędownikiem tworzenia otwartego kodu. Niezachwianie wierzy w ideę Software Craftsmanship (osiągania mistrzostwa w programowaniu). Jest uznanym specjalistą w dziedzinie budowania biznesowych aplikacji WWW w języku Java i entuzjastą platform Groovy oraz Spring. Po godzinach prowadzi bloga, jest szkoleniowcem i autorem oraz współautorem książek.

O autorze (11)

O korektorach merytorycznych (12)

Przedmowa (15)

Rozdział 1. Błyskawiczne tworzenie aplikacji Spring (19)

  • Rozpoczęcie pracy w środowisku Spring Tool Suite (20)
  • Rozpoczęcie pracy w środowisku IntelliJ (25)
  • Rozpoczęcie pracy w serwisie start.Spring.io (26)
    • Rozpoczęcie pracy za pomocą wiersza poleceń (26)
  • Pierwsze kroki (27)
    • Kompilowanie kodu za pomocą narzędzia Gradle (28)
    • Chcę zobaczyć kod! (32)
  • Spring Boot od wewnątrz (34)
    • Dyspozytor i konfiguracja elementów aplikacji (35)
    • Interpreter widoków, zasoby statyczne i ustawienia regionalne (38)
  • Konfiguracja obsługi błędów i kodowania znaków (40)
  • Konfiguracja wbudowanego serwletu kontenera serwera (Tomcat) (42)
    • Port HTTP (44)
    • Konfiguracja protokołu SSL (44)
    • Inne opcje konfiguracyjne (45)
  • Podsumowanie (46)

Rozdział 2. Tajniki architektury MVC (47)

  • Architektura MVC (47)
  • Krytyka architektury MVC i dobre praktyki (48)
    • Anemiczny model domeny (48)
    • Informacje ze źródeł (50)
  • Platforma MVC 1-0-1 (50)
  • Szablony Thymeleaf (51)
    • Twoja pierwsza strona (52)
  • Architektura platformy Spring MVC (54)
    • Serwlet DispatcherServlet (54)
    • Przekazywanie danych do widoku (55)
  • Język Spring Expression Language (56)
    • Użycie parametru przy odczytywaniu danych (56)
  • Dosyć już "Witaj, świecie!", odczytujmy tweety! (58)
    • Rejestracja aplikacji (58)
    • Zastosowanie projektu Spring Social (60)
    • Dostęp do serwisu Twitter (60)
  • Strumienie i funkcje lambda w Java 8 (62)
  • Styl material design i biblioteka WebJars (63)
    • Układy stron (66)
    • Poruszanie się po witrynie (67)
  • Punkt kontrolny (71)
  • Podsumowanie (72)

Rozdział 3. Obsługa formularzy i złożonych adresów URL (73)

  • Strona profilu - formularz (73)
  • Weryfikacja danych (80)
    • Dostosowanie komunikatów o błędach (82)
    • Niestandardowe adnotacje do weryfikacji danych (85)
  • Internacjonalizacja (85)
    • Zmiana ustawień regionalnych (87)
    • Tłumaczenie tekstów aplikacji (89)
    • Lista w formularzu (91)
  • Weryfikacja danych po stronie klienta (94)
  • Punkt kontrolny (96)
  • Podsumowanie (96)

Rozdział 4. Ładowanie plików i obsługa błędów (99)

  • Ładowanie plików (99)
    • Umieszczanie obrazu w odpowiedzi na zapytanie (104)
    • Zarządzanie konfiguracją ładowania plików (104)
    • Wyświetlenie załadowanego obrazu (107)
    • Obsługa błędów ładowania plików (108)
    • Tłumaczenia komunikatów o błędach (112)
  • Zapisywanie profilu użytkownika w sesji (112)
  • Własne strony z komunikatami o błędach (116)
  • Zmienne tablicowe w adresach URL (117)
  • Wszystko razem (121)
  • Punkt kontrolny (128)
  • Podsumowanie (129)

Rozdział 5. Tworzenie aplikacji w stylu REST (131)

  • Czym jest styl REST? (131)
  • Model dojrzałości Richardsona (132)
    • Poziom 0 - HTTP (132)
    • Poziom 1 - zasoby (132)
    • Poziom 2 - metody HTTP (133)
    • Poziom 3 - kontrolki hipermediów (134)
  • Wersje interfejsu API (135)
  • Przydatne kody HTTP (136)
  • Klient jest królem (137)
  • Diagnostyka interfejsu REST API (139)
    • Rozszerzenia przeglądarek wyświetlające format JSON (139)
    • Klient REST w przeglądarce (139)
    • Narzędzie httpie (139)
  • Dostosowanie odpowiedzi JSON (139)
  • Interfejs API do zarządzania zasobami użytkowników (144)
  • Kody stanu i obsługa wyjątków (147)
    • Zwrot kodu stanu za pomocą obiektu ResponseEntity (148)
    • Zwrot kodów stanu za pomocą wyjątków (149)
  • Dokumentowanie interfejsu za pomocą platformy Swagger (153)
  • Tworzenie odpowiedzi XML (154)
  • Punkt kontrolny (156)
  • Podsumowanie (157)

Rozdział 6. Zabezpieczanie aplikacji (159)

  • Podstawowe uwierzytelnienie (159)
    • Upoważnieni użytkownicy (160)
    • Uprawnione adresy URL (163)
    • Znaczniki bezpieczeństwa w szablonie Thymeleaf (164)
  • Formularz logowania (165)
  • Uwierzytelnienie przez Twitter (170)
    • Konfiguracja uwierzytelnienia społecznościowego (170)
    • Objaśnienia do kodu (174)
  • Rozproszone sesje (176)
  • Protokół SSL (178)
    • Generowanie certyfikatu z własnym podpisem (179)
    • Jeden kanał (179)
    • Dwa kanały (180)
    • Za bezpiecznym serwerem (181)
  • Punkt kontrolny (181)
  • Podsumowanie (182)

Rozdział 7. Zero ryzyka - testy jednostkowe i integracyjne (183)

  • Dlaczego powinienem testować swój kod? (183)
  • Jak powinieneś testować swój kod? (184)
  • Programowanie zorientowane na testy (185)
  • Testy jednostkowe (186)
    • Narzędzia odpowiednie do zadania (187)
  • Testy integracyjne (187)
  • Twój pierwszy test jednostkowy (188)
  • Imitacje i atrapy (191)
    • Imitowanie klas przy użyciu narzędzia Mockito (191)
    • Tworzenie atrap klas podczas testów (193)
    • Trzeba używać imitacji czy atrap? (195)
  • Testy jednostkowe kontrolerów REST (195)
  • Testowanie uwierzytelnienia (201)
  • Tworzenie testów integracyjnych (202)
    • Konfiguracja systemu Gradle (202)
    • Pierwszy test FluentLenium (204)
    • Obiekty stron w bibliotece FluentLenium (209)
    • Tworzenie testów w języku Groovy (212)
    • Testy jednostkowe z wykorzystaniem biblioteki Spock (212)
    • Testy integracyjne z wykorzystaniem biblioteki Geb (215)
    • Obiekty stron w bibliotece Geb (217)
  • Punkt kontrolny (220)
  • Podsumowanie (221)

Rozdział 8. Optymalizacja zapytań (223)

  • Produkcyjny profil aplikacji (223)
  • Kompresja gzip (224)
  • Kontrola pamięci podręcznej (224)
  • Pamięć podręczna aplikacji (226)
    • Unieważnianie danych w pamięci podręcznej (231)
    • Rozproszona pamięć podręczna (232)
  • Metody asynchroniczne (233)
  • Tagi ETag (237)
  • Protokół WebSocket (241)
  • Punkt kontrolny (244)
  • Podsumowanie (244)

Rozdział 9. Udostępnianie aplikacji w chmurze (245)

  • Wybór operatora usług chmurowych (245)
    • Cloud Foundry (246)
    • OpenShift (246)
    • Heroku (247)
  • Udostępnienie aplikacji w usłudze Pivotal Web Services (247)
    • Instalacja narzędzi konsolowych Cloud Foundry (247)
    • Złożenie aplikacji (248)
    • Aktywacja usługi Redis (252)
  • Udostępnienie aplikacji w usłudze Heroku (253)
    • Instalacja narzędzi (253)
    • Konfiguracja aplikacji (254)
    • Profil Heroku (255)
    • Uruchomienie aplikacji (256)
    • Aktywacja usługi Redis (258)
  • Ulepszanie aplikacji (259)
  • Podsumowanie (260)

Rozdział 10. Nie tylko Spring Web (261)

  • Platforma Spring (261)
    • Core (rdzeń) (262)
    • Execution (uruchamianie) (262)
    • Data (dane) (262)
    • Inne ciekawe projekty (263)
  • Wdrożenie (263)
    • Platforma Docker (263)
  • Aplikacje jednostronicowe (264)
    • Najważniejsi gracze (265)
    • Przyszłość (265)
    • Bezstanowość (266)
  • Podsumowanie (266)

Skorowidz (267)

  • Title: Spring MVC 4. Projektowanie zaawansowanych aplikacji WWW
  • Author: Geoffroy Warin
  • Original title: Mastering Spring MVC 4
  • Translation: Andrzej Watrak
  • ISBN: 978-83-283-2348-3, 9788328323483
  • Date of issue: 2016-06-26
  • Format: Ebook
  • Item ID: smvc4p
  • Publisher: Helion