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