Java Techniki zaawansowane Wydanie VIII.pdf

(900 KB) Pobierz
Java. Techniki zaawansowane. Wydanie VIII
Java.
Techniki zaawansowane.
Wydanie VIII
Autor: Cay S. Horstmann, Gary Cornell
T³umaczenie: Jaromir Senczyk
ISBN: 978-83-246-1483-7
Tytu³ orygina³u: Core Java(tm),
Eighth Edition
Format: 172x245, stron: 1064
• Jak wykorzystaæ strumienie?
• Jak stworzyæ efektowny interfejs u¿ytkownika?
• Jak zapewniæ bezpieczeñstwo w tworzonych aplikacjach?
Co spowodowa³o, ¿e jêzyk programowania Java zyska³ tak wielk¹ popularnoœæ?
Przyczyn jest kilka: mo¿liwoœæ przenoszenia kodu miêdzy programami, wydajnoœæ i to,
co programiœci lubi¹ najbardziej – mechanizm automatycznego oczyszczania pamiêci.
Nie bez znaczenia jest równie¿ to, ¿e Java jest jêzykiem zorientowanym obiektowo,
udostêpnia obs³ugê programowania rozproszonego oraz œwietn¹ dokumentacjê.
Ponadto liczne publikacje oraz pomocna spo³ecznoœæ sprawiaj¹, ¿e Java zajmuje
poczesne miejsce wœród innych jêzyków programowania.
Kolejne wydanie ksi¹¿ki Java. Techniki zaawansowane. Wydanie VIII zosta³o
zaktualizowane o wszystkie te elementy, które pojawi³y siê w wersji szóstej platformy
Java Standard Edition. Dziêki tej ksi¹¿ce dowiesz siê, w jaki sposób wykorzystaæ
strumienie, jak parsowaæ dokumenty XML czy te¿ w jaki sposób tworzyæ aplikacje
sieciowe. Poznasz interfejs JDBC, sposób wykorzystania transakcji oraz wykonywania
zapytañ SQL. Autorzy w szczegó³owy sposób poka¿¹ Ci, jak tworzyæ aplikacje
z wykorzystaniem biblioteki Swing. Dodatkowo przedstawi¹, w jaki sposób zapewniæ
bezpieczeñstwo w tworzonych przez Ciebie aplikacjach. Wszystkie te – oraz wiele
innych – zagadnienia zostan¹ przedstawione w przystêpny i sprawdzony sposób!
• Wykorzystanie strumieni
• Dokumenty XML i ich wykorzystanie w jêzyku Java
• Programowanie aplikacji sieciowych
• Wykorzystanie interfejsu JDBC
• Tworzenie aplikacji wielojêzycznych
• Mo¿liwoœci pakietu Swing
• Wykorzystanie biblioteki AWT
• Bezpieczeñstwo w aplikacjach
• Zastosowanie podpisu cyfrowego
• Sposoby wykorzystania obiektów rozproszonych (RMI)
Wykorzystaj zaawansowane mo¿liwoœci jêzyka Java w swoich projektach!
400254837.001.png 400254837.002.png
Spis treci
Przedmowa ...............................................................................................................................................11
Podzikowania ......................................................................................................................................... 15
Rozdzia 1. Strumienie i pliki .................................................................................................................... 17
Strumienie ................................................................................................................... 17
Odczyt i zapis bajtów ............................................................................................... 18
Zoo pene strumieni ................................................................................................ 20
czenie filtrów strumieni ........................................................................................ 24
Strumienie tekstowe ..................................................................................................... 27
Zapisywanie tekstu ................................................................................................. 28
Wczytywanie tekstu ................................................................................................. 31
Zapis obiektów w formacie tekstowym ...................................................................... 31
Zbiory znaków ......................................................................................................... 35
Odczyt i zapis danych binarnych ..................................................................................... 40
Strumienie plików o swobodnym dostpie ................................................................. 43
Strumienie plików ZIP ................................................................................................... 48
Strumienie obiektów i serializacja .................................................................................. 55
Format pliku serializacji obiektów ............................................................................. 61
Modyfikowanie domylnego mechanizmu serializacji .................................................. 67
Serializacja singletonów i wylicze ............................................................................ 70
Wersje ................................................................................................................... 71
Serializacja w roli klonowania ................................................................................... 73
Zarzdzanie plikami ...................................................................................................... 75
Ulepszona obsuga wejcia i wyjcia .............................................................................. 82
Mapowanie plików w pamici ................................................................................... 82
Struktura bufora danych .......................................................................................... 89
Blokowanie plików ................................................................................................... 91
Wyraenia regularne ..................................................................................................... 93
Rozdzia 2. Jzyk XML ...........................................................................................................................103
Wprowadzenie do jzyka XML ...................................................................................... 104
Struktura dokumentu XML ..................................................................................... 106
Parsowanie dokumentów XML ..................................................................................... 109
4
Java. Techniki zaawansowane
Kontrola poprawnoci dokumentów XML ...................................................................... 120
Definicje typów dokumentów .................................................................................. 122
XML Schema ........................................................................................................ 129
Praktyczny przykad ............................................................................................... 131
Wyszukiwanie informacji i XPath .................................................................................. 145
Przestrzenie nazw ....................................................................................................... 151
Parsery strumieniowe ................................................................................................. 154
Wykorzystanie parsera SAX .................................................................................... 154
Wykorzystanie parsera StAX ................................................................................... 159
Tworzenie dokumentów XML ....................................................................................... 163
Tworzenie dokumentu XML za pomoc parsera StAX ................................................ 167
Przeksztacenia XSL ................................................................................................... 174
Rozdzia 3. Programowanie aplikacji sieciowych ...............................................................................185
Poczenia z serwerem ............................................................................................... 185
Limity czasu gniazd ............................................................................................... 190
Adresy internetowe ............................................................................................... 191
Implementacja serwerów ............................................................................................ 193
Obsuga wielu klientów .......................................................................................... 196
Poczenia czciowo zamknite ............................................................................ 200
Przerywanie dziaania gniazd sieciowych .................................................................. 201
Wysyanie poczty elektronicznej ................................................................................... 207
Poczenia wykorzystujce URL .................................................................................... 212
URL i URI ............................................................................................................. 212
Zastosowanie klasy URLConnection do pobierania informacji ................................... 214
Wysyanie danych do formularzy ............................................................................. 224
Rozdzia 4. Poczenia do baz danych: JDBC ....................................................................................... 233
Architektura JDBC ...................................................................................................... 234
Typy sterowników JDBC ......................................................................................... 235
Typowe zastosowania JDBC ................................................................................... 236
Jzyk SQL .................................................................................................................. 237
Instalacja JDBC .......................................................................................................... 243
Adresy URL baz danych ......................................................................................... 243
Pliki JAR zawierajce sterownik .............................................................................. 244
Uruchamianie bazy danych ..................................................................................... 244
Rejestracja klasy sterownika .................................................................................. 245
Nawizywanie poczenia z baz danych ................................................................. 246
Wykonywanie polece jzyka SQL ........................................................................... 248
Zarzdzanie poczeniami, poleceniami i zbiorami wyników ....................................... 251
Analiza wyjtków SQL ............................................................................................ 252
Wypenianie bazy danych ....................................................................................... 255
Wykonywanie zapyta ................................................................................................. 258
Polecenia przygotowane ........................................................................................ 259
Odczyt i zapis duych obiektów ............................................................................... 267
Sekwencje sterujce ............................................................................................. 269
Zapytania o wielu zbiorach wyników ........................................................................ 270
Pobieranie wartoci kluczy wygenerowanych automatycznie ...................................... 271
Przewijalne i aktualizowalne zbiory wyników zapyta ...................................................... 272
Przewijalne zbiory wyników ..................................................................................... 272
Aktualizowalne zbiory rekordów .............................................................................. 274
Spis treci
5
Zbiory rekordów .......................................................................................................... 279
Buforowane zbiory rekordów ................................................................................... 279
Metadane .................................................................................................................. 282
Transakcje ................................................................................................................. 292
Punkty kontrolne ................................................................................................... 293
Aktualizacje wsadowe ............................................................................................ 293
Zaawansowane typy jzyka SQL ............................................................................. 295
Zaawansowane zarzdzanie poczeniami .................................................................... 297
Wprowadzenie do LDAP .............................................................................................. 298
Konfiguracja serwera LDAP .................................................................................... 299
Dostp do informacji katalogu LDAP ....................................................................... 303
Rozdzia 5. Internacjonalizacja .............................................................................................................315
Lokalizatory ............................................................................................................... 316
Formaty liczb .............................................................................................................. 321
Waluty .................................................................................................................. 326
Data i czas ................................................................................................................ 328
Porzdek alfabetyczny ................................................................................................. 335
Moc uporzdkowania ............................................................................................. 337
Rozkad ................................................................................................................ 337
Formatowanie komunikatów ........................................................................................ 343
Formatowanie z wariantami .................................................................................... 345
Pliki tekstowe i zbiory znaków ...................................................................................... 347
Internacjonalizacja a pliki ródowe programów ........................................................ 347
Komplety zasobów ..................................................................................................... 348
Lokalizacja zasobów .............................................................................................. 349
Pliki waciwoci ................................................................................................... 350
Klasy kompletów zasobów ..................................................................................... 351
Kompletny przykad .................................................................................................... 353
Rozdzia 6. Zaawansowane moliwoci pakietu Swing ...................................................................... 367
Listy .......................................................................................................................... 367
Komponent JList ................................................................................................... 368
Modele list ........................................................................................................... 374
Wstawianie i usuwanie .......................................................................................... 379
Odrysowywanie zawartoci listy .............................................................................. 381
Tabele ....................................................................................................................... 386
Najprostsze tabele ................................................................................................ 386
Modele tabel ........................................................................................................ 390
Wiersze i kolumny ................................................................................................. 394
Drzewa ...................................................................................................................... 421
Najprostsze drzewa ............................................................................................... 422
Przegldanie wzów .............................................................................................. 438
Rysowanie wzów ................................................................................................. 440
Nasuchiwanie zdarze w drzewach ........................................................................ 443
Wasne modele drzew ........................................................................................... 450
Komponenty tekstowe ................................................................................................ 458
ledzenie zmian zawartoci komponentów tekstowych ............................................. 459
Sformatowane pola wejciowe ............................................................................... 463
Komponent JSpinner ............................................................................................. 479
Prezentacja HTML za pomoc JEditorPane .............................................................. 487
6
Java. Techniki zaawansowane
Wskaniki postpu ..................................................................................................... 494
Paski postpu ...................................................................................................... 494
Monitory postpu .................................................................................................. 498
Monitorowanie postpu strumieni wejcia ............................................................... 501
Organizatory komponentów ......................................................................................... 507
Panele dzielone .................................................................................................... 507
Panele z zakadkami .............................................................................................. 511
Panele pulpitu i ramki wewntrzne .......................................................................... 518
Rozmieszczenie kaskadowe i ssiadujce ............................................................... 521
Zgaszanie weta do zmiany waciwoci .................................................................. 529
Rozdzia 7. Zaawansowane moliwoci biblioteki AWT ...................................................................... 537
Potokowe tworzenie grafiki .......................................................................................... 538
Figury ........................................................................................................................ 540
Wykorzystanie klas obiektów graficznych ................................................................. 542
Pola .......................................................................................................................... 555
lad pdzla ................................................................................................................ 556
Wypenienia ............................................................................................................... 564
Przeksztacenia ukadu wspórzdnych ......................................................................... 566
Przycinanie ................................................................................................................ 571
Przezroczysto i skadanie obrazów ............................................................................ 573
Wskazówki operacji graficznych ................................................................................... 581
Czytanie i zapisywanie plików graficznych ..................................................................... 587
Wykorzystanie obiektów zapisu i odczytu plików graficznych ...................................... 588
Odczyt i zapis plików zawierajcych sekwencje obrazów ............................................ 592
Operacje na obrazach ................................................................................................. 598
Dostp do danych obrazu ...................................................................................... 598
Filtrowanie obrazów ............................................................................................... 604
Drukowanie ............................................................................................................... 613
Drukowanie grafiki ................................................................................................ 614
Drukowanie wielu stron ......................................................................................... 623
Podgld wydruku ................................................................................................... 624
Usugi drukowania ................................................................................................. 633
Usugi drukowania za porednictwem strumieni ....................................................... 637
Atrybuty drukowania .............................................................................................. 638
Schowek ................................................................................................................... 644
Klasy i interfejsy umoliwiajce przekazywanie danych ............................................. 645
Przekazywanie tekstu ............................................................................................ 646
Interfejs Transferable i formaty danych ................................................................... 650
Przekazywanie obrazów za pomoc schowka ........................................................... 652
Wykorzystanie lokalnego schowka do przekazywania referencji obiektów ................... 657
Wykorzystanie schowka systemowego do przekazywania obiektów Java ..................... 657
Zastosowanie lokalnego schowka do przekazywania referencji obiektów .................... 661
Mechanizm „przecignij i upu” ................................................................................. 662
Przekazywanie danych pomidzy komponentami Swing ............................................. 664
róda przeciganych danych .................................................................................. 667
Cele upuszczanych danych ..................................................................................... 670
Integracja z macierzyst platform ............................................................................... 678
Ekran powitalny .................................................................................................... 678
Uruchamianie macierzystych aplikacji pulpitu .......................................................... 683
Zasobnik systemowy ............................................................................................. 688
Zgłoś jeśli naruszono regulamin