Spring MVC 4. Projektowanie zaawansowanych aplikacji WWW - ebook
Spring MVC 4. Projektowanie zaawansowanych aplikacji WWW - 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.
Spis treści
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)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-2348-3 |
Rozmiar pliku: | 4,0 MB |