Java EE6 : programowanie aplikacji WWW / Krzysztof Rychlicki
Transkrypt
Java EE6 : programowanie aplikacji WWW / Krzysztof Rychlicki
Java EE6 : programowanie aplikacji WWW / Krzysztof Rychlicki-Kicior. – Gliwice, cop. 2010 Spis treści Cześć I Podstawy Rozdział 1. Java EE – naprawdę krótkie wprowadzenie Web vs Enterprise Serwery aplikacji Streszczenie, czyli krótki przewodnik po niniejszej publikacji Serwlety – na dobry początek Deskryptor wdrożenia JSP – HTML + Java JPA – czas na dane! JSF – wyższy poziom prezentacji Facelets 7 9 10 11 11 11 12 13 13 13 14 Rozdział 2. Pierwsza aplikacja webowa Integrowanie Tomcata z Netbeansem Pierwsza aplikacja Dodawanie nowych elementów Pierwszy serwlet? 15 16 17 18 20 Rozdział 3. Serwlet – na dobry początek Życie serwletu Serwlet pod lupa Zadanie – odpowiedz Przesyłanie odpowiedzi Om nom nom, czyli ciasteczka w pełnej krasie Sesje – nie tylko dla studentów Konfiguracja w kodzie Javy – można tego uniknąć Parametry serwletów Kontekst serwletów Trzech muszkieterów? Atrybuty a mnogość żądań Słuchowisko ServietContextListener ServletContextAttributeListener ServletRequestAttributeListener i ServletRequestListener HttpSessionAtributteListener i HttpSessionListener HttpSessionBindingListener Sesja + wiele JVM = HttpSessionActivationListener Filtry Techniczny aspekt filtrów Konfiguracja filtrów w pliku web.xml 25 25 26 27 29 31 31 33 34 35 36 36 39 39 39 39 40 40 40 41 41 42 Rozdział 4. JSP – gdy out.println() nie wystarcza Zacznijmy od początku, czyli JSP w świecie serwletów Pliki JSP dostępne bezpośrednio Pliki JSP wywoływane z poziomu serwletów Pochodzenie JSP – dziedzictwo serwletów 45 46 46 46 47 Pierwsze kroki w JSP Docenić wygodę, czyli jak to lat temu kitka bywało Expression Language – elegancja i wygoda Remedium – warto byto czekać! Dostęp do obiektów w języku EL Beany, czyli ziarna – kult kawy wiecznie żywy Ziarna + EL = kolejne ułatwienie Ziama, mapy i co dalej? EL – nie tylko atrybuty Akcje JSP Include vs Forward – odsłona druga Akcje + ziarna = kolejne potężne narzędzie Dynamiczne generowanie elementów 47 50 54 55 56 57 58 59 59 61 62 63 66 Rozdział 5. JSTL – wisienka na torcie JSP Skrzynka z narzędziami Rdzeń c:out Ale to juz byto, czyli c:set Czwarty muszkieter Kontrola sterowania Pętelka do kompletu Wyjątki + JSP = Adresy URL – same kłopoty Adresy URL bez tajemnic Tajemnica sesji Trzech tenorów Na deser – funkcje! Przez kolekcje do serca Funkcje łańcuchowe Podsumowanie 69 69 70 70 72 73 73 75 76 77 77 78 79 80 80 81 82 Cześć II Frameworki webowe Rozdział 6. JavaServer Faces Frameworki – kolejny dowód na lenistwo człowieka JSF – kanonu ciąg dalszy JSF, czyli MVC w praktyce Kontroler – uniwersalny spawacz Maie zanurzenie Pierwsze przykłady Aplikacja Notowania giełdowe Tajemniczy zapis – # vs $ Notowania historyczne, czyli kolekcja w kolekcji Najpierw szablon, później treść Klient szablonu Przygotowania Czas na obliczenia! Maty zastrzyk JSF – komponenty, komponenty, komponenty! Output – (prawie) wszystko, czego do szczęścia potrzeba UIInput – teraz do szczęścia nie brakuje już nic Powrót do szarej rzeczywistości 83 85 85 86 87 88 88 89 90 95 97 98 99 100 103 105 106 107 108 112 Zasady działania JSF Przykładowa aplikacja — maszyna licząca Przywrócenie widoku (1) Pobranie danych z żądania (2) Walidacja (3) Aktualizacja wartości w modelu (ziarnach – 4) Wywołanie zadeklarowanych uprzednio metod (5) Renderowanie odpowiedzi (6) Cykl życia w praktyce Podsumowanie 115 115 118 119 119 120 120 120 120 121 Rozdział 7. Konwertowanie i walidacja Uroki transformacji Konwertery standardowe Piszemy konwerter! Walidator – nieodłączny partner konwertera Walidatory – prawie jak konwertery Walidacja niestandardowa – jak zawsze więcej pracy 123 123 124 126 130 131 132 Cześć III Obsługa danych Rozdział 8. JPA, czyli ORM + Java Dostęp do danych w Javie Oświecenie Pierwszy przykład Założenia Realizacja Tworzenie projektu Hibernate a JPA – co i jak w ORM-owym świecie Pierwsza klasa encji Jednostka utrwalania Graficzna strona aplikacji Dodawanie przychodni EntityManager i spółka Menedżer encji – elegancki dostęp != łatwa sprawa Nudni słuchacze – nareszcie przydatni! C już jest, czas na RUD Niewiele Ci mogę dać... (póki nie pozwolisz mi zaprezentować danych) Słuchacz akcji vs akcja – starcie numer 2 Istotny drobiazg – nasza aplikacja to niemowa! 135 137 137 138 139 139 139 140 141 141 145 146 150 152 153 156 158 158 160 162 Rozdział 9. Związki miedzy encjami – jedna tabela to za mało! Przychodnia... i co dalej? Związki miedzy tabelami – krótkie przypomnienie Związki SQL w praktyce Jeden do wielu, wiele do jednego Wiele do wielu – najwyższy stopień wtajemniczenia Dodajemy tabele do bazy Encje klas Javy – czas na związki! Encja Przychodnia – zmiana na lepszy model Czas na nowości! Wizyta – encja JPA w pełnej krasie CRUD dla lekarza – to juz było, ale nie do końca 165 165 165 166 167 167 168 170 171 172 178 183 Nowy lekarz – nowe pole, duża zmiana Magikonwersja Ziarnko do ziarnka i zbierze się aplikacja Kolejne metody ziarna LekarzBean Na zakończenie – edycja Pacjenci – suplement Danie główne: all in one, czyli wizyty! Od czegoś trzeba zacząć, czyli zmiany Dodawanie wizyty Ostatnie ziarno Edycja i usuwanie – powrót Koniec coraz bliżej, czyli edycja w pełniej krasie Podsumowanie 184 185 186 188 189 191 192 193 196 197 200 201 202 Rozdział 10. JPQL i jego możliwości Prawie jak SQL... "prawie" robi różnicę Podstawy Pobieranie z wariantami JPQL a atrybuty złożone i null Nieco więcej o SELECT Funkcje obliczeniowe Operacje niezwiązane z pobieraniem Mechanizmy zaawansowane JOIN na lewo, JOIN naprawo Grupowanie i sortowanie Podzapytania – prawdziwa moc Podsumowanie 203 203 204 204 206 207 208 209 209 210 211 212 213 Dodatki Dodatek A Instalacja serwera Apache Tomcat Pobranie Konfiguracja Dodatek B Bibliografia Skorowidz 215 217 217 217 219 221 oprac. BPK