< Wstecz | Dalej >

Lekcja 1.2: Łączenie się z bazą danych i wyświetlanie danych na stronie WWW

W ramach tej lekcji użytkownik nauczy się, jak połączyć się z bazą danych i wyświetlić rekordy danych na stronie WWW. Nauczy się także, w jaki sposób dodać do strony WWW relacyjną listę rekordów.
O tym zadaniu

Serwis WWW w tym kursie korzysta z dynamicznych stron WWW z komponentami JavaServer Faces w celu uzyskania dostępu do bazy danych oraz wyświetlenia na stronie informacji. W tym kursie do reprezentowania danych z bazy danych są używane rekordy relacyjne i listy rekordów relacyjnych tak, aby można było wyświetlić na stronie dane w postaci tabeli danych lub zwykłej tabeli HTML. Komponenty te używają dostępowych komponentów bean Java.

Komponenty bean dostępu do danych są to reprezentacje korporacyjnych komponentów bean w postaci komponentów bean Java. Są one zazwyczaj używane w programach klienckich korzystających z plików JSP (JavaServer Pages), serwletów lub korporacyjnych komponentów bean powiązanych z innymi korporacyjnymi komponentami bean. Dostępowe komponenty bean oddzielają użytkownika od złożonego zarządzania cyklami życia komponentów EJB. Oznacza to, że programowanie dla korporacyjnych komponentów bean jest równie łatwe, jak programowanie dla komponentów bean Java, co upraszcza programy klienckie korporacyjnych komponentów bean i skraca ogólny czas projektowania.

JavaServer Faces to technologia pomocna podczas budowania interfejsów użytkowników dla dynamicznych aplikacji WWW, które działają na serwerze. Środowisko JavaServer Faces zarządza stanem interfejsu użytkownika dla żądań serwera i oferuje prosty model do tworzenia zdarzeń po stronie serwera, które są aktywowane przez klienta. Technologia JavaServer Faces jest oparta na środowisku model-widok-kontroler (MVC, Model-View-Controller). W przypadku technologii JavaServer Faces oznacza to, ze kontrolerem jest serwlet, model jest reprezentowany przez komponenty JavaBean, a widok składa się z komponentów JavaServer Faces z niewielkim kodem aplikacji lub bez niego. Celem tego modelu jest oddzielenie treści od prezentacji.

Narzędzia, takie jak komponenty Faces, ułatwiają wykorzystywanie tej technologii w aplikacjach WWW. Komponenty Faces obejmują bibliotekę niestandardowych znaczników JavaServer Page (JSP) służących do opisywania interfejsu JavaServer Faces na stronie. Ten kreator pomaga tworzyć pliki JSP, które mogą korzystać z komponentów Faces. Komponenty Faces umożliwiają tworzenie aplikacji WWW przez przeciąganie komponentów z szuflady Faces w widoku Paleta i upuszczenie ich na tworzonych stronach WWW.

Na przykład można przeciągnąć tekstowe pole wejściowe i upuścić je na formularzu strony. Następnie obok tekstowego pola wejściowego można przeciągnąć i upuścić przycisk Wyślij. Na koniec można połączyć tekstowe pole wejściowe ze źródłem danych. Umożliwi to użytkownikom końcowym wprowadzanie danych z aplikacji WWW do źródła danych.

Inną zaletą aplikacji budowanych za pomocą komponentów Faces jest to, że interfejs użytkownika jest wyświetlany niezależnie od bazowej logiki programu. Oznacza to, aplikacje mogą być uruchamiane i uzyskiwać dostęp do danych na różnych platformach, takich jak przeglądarki lub urządzenia kieszonkowe.

Szuflada Rozszerzone komponenty składnika Faces w widoku Paleta.

Dodawanie listy rekordów relacyjnych

O tym zadaniu
W ramach tej lekcji użytkownik utworzy listę rekordów relacyjnych w celu przedstawienia wszystkich ogłoszeń drobnych w bazie danych. Następnie użytkownik połączy się z bazą danych i wybierze tabelę przechowującą informacje niezbędne dla listy rekordów relacyjnych. Wreszcie użytkownik wyświetli tę listę rekordów relacyjnych na stronie w tabeli danych.
  • Rekordy relacyjne łączą się z tylko jednym rekordem w bazie danych. W tym przypadku rekord relacyjny reprezentuje pojedyncze ogłoszenie drobne z przykładowej bazy danych. Za pomocą rekordu relacyjnego można utworzyć nowy rekord, zmodyfikować istniejący rekord lub usunąć stary rekord.
  • Listy rekordów relacyjnych łączą się z więcej niż jednym rekordem w bazie danych. W tym przypadku lista rekordów relacyjnych reprezentuje od dwóch do wszystkich ogłoszeń drobnych z przykładowej bazy danych.
  • Dane z listy rekordów relacyjnych są wyświetlane na stronie w tabelach danych. Tabele danych po prostu określają miejsce dla list rekordów, nie formatują one danych w postaci wierszy i kolumn w taki sam sposób, jak robi to tabela HTML.

    Tabela danych jest to komponent na stronie JSP Faces przechowujący takie obiekty danych, jak lista rekordów relacyjnych.Chociaż w tabeli danych występują wiersze i kolumny, tak jak w tabeli HTML, nie działa ona w podobny sposób, jak tabela HTML. Jeśli należy sformatować wejściowe i wyjściowe elementy sterujące w taki sposób, jak w tabeli, należy użyć elementu Panel - okno grupy z szuflady Rozszerzone komponenty składnika Faces na palecie. Zostało to opisane w Ćwiczeniu 2.2: Formatowanie tabeli danych.

    W widoku Właściwości można dostosować tabelę danych na różne sposoby:
    • można dodać, usunąć i zmienić kolejność kolumn;
    • można sformatować tekst i tło;
    • można dodać nagłówek, stopkę i marginesy;
    • można dodać stronicowanie w celu wyświetlenia wyników.

Aby utworzyć nową listę rekordów relacyjnych:

  1. W widoku Eksplorator korporacyjny perspektywy WWW rozwiń kolejno opcje: ClassifiedsTutorial > Treści WWW.
  2. W folderze Treści WWW dwukrotnie kliknij plik all_records.jsp. Plik all_records.jsp zostanie otwarty w edytorze.
  3. Usuń domyślny tekst W tym miejscu wstaw treść.
  4. W widoku Paleta rozwiń szufladę Dane i usługi.
  5. Przeciągnij komponent Lista rekordów relacyjnych SDO z widoku Paleta na pusty obszar strony. Zostanie otwarte okno Dodaj listę rekordów relacyjnych.
  6. W polu Nazwa wpisz all_recordlist. Nazwy listy rekordów relacyjnych i rekordów relacyjnych muszą być zgodne ze standardowymi konwencjami nazewnictwa Java dla nazw zmiennych (na przykład nie mogą zawierać spacji).
  7. Upewnij się, że została wybrana opcja Dodaj elementy sterujące danych. W przypadku wybrania opcji Dodaj elementy sterujące danych kreator utworzy tabelę danych w celu wyświetlenia listy rekordów na stronie. W przeciwnym razie kreator utworzy tylko listę rekordów, bez jej reprezentacji na stronie. Teraz kreator utworzy domyślną tabelę danych, która zostanie później dostosowana. Okno Dodaj listę rekordów relacyjnych powinno wyglądać następująco:
    Okno Dodaj listę rekordów relacyjnych.

    Kliknij przycisk Dalej.

  8. W polu Nazwa kliknij przycisk Nowe, aby utworzyć nowe połączenie z bazą danych. Zostanie wyświetlone okno dialogowe Przeglądanie profilu.
  9. W oknie dialogowym Przeglądanie profilu kliknij przycisk Nowe. Zostanie wyświetlone okno dialogowe Nowy profil połączenia.
  10. Na liście Typy profilu połączenia wybierz Derby i kliknij przycisk Dalej. Zostanie wyświetlone okno dialogowe Utwórz profil połączenia.
  11. W polu Nazwa wpisz DerbyDB, wybierz Automatyczne połączenie przy uruchomieniu i kliknij przycisk Dalej.
  12. W polu Sterowniki wybierz Derby 10.2 - domyślny osadzony sterownik JDBC.
  13. W polu Położenie bazy danych kliknij przycisk Przeglądaj i wybierz <położenie_obszaru_roboczego>\ClassifiedsTutorial\WebContent\database, gdzie <położenie_obszaru_roboczego> to katalog bieżącego obszaru roboczego. Kliknij przycisk Zakończ.
  14. W oknie dialogowym Przeglądanie profilu kliknij przycisk DerbyDB, a następnie przycisk OK. Nastąpi powrót do kreatora Dodaj listę rekordów relacyjnych.
  15. Kliknij przycisk Konfiguruj połączenia z bazą danych projektu. Zostanie otwarte okno Właściwości połączeń JDBC.
  16. Kliknij przycisk Edytuj obok sekcji Szczegóły połączenia środowiska wykonawczego. Wybierz opcję Użyj połączenia menedżera sterowników jako typ połączenia środowiska wykonawczego. Kliknij przycisk Zakończ, a następnie przycisk OK, aby powrócić do okna dialogowego Dodaj listę rekordów relacyjnych. Teraz, po utworzeniu połączenia z bazą danych Derby, należy wybrać tabelę lub listę rekordów do prezentowania danych. Kreator dodawania listy rekordów relacyjnych wyświetli tabele w bazie danych.
  17. Rozwiń pozycję W5SAMPLE i wybierz tabelę ADS. Kliknij przycisk Dalej. Na pozostałych stronach kreatora można wykluczyć kolumny z listy rekordów i użyć opcji zaawansowanych, takich jak definiowanie klucza podstawowego, dodawanie relacji z innymi tabelami oraz określanie warunków filtrowania i sortowania. Więcej informacji o tych stronach znajduje się w następnych ćwiczeniach.
    Okno dialogowe Dodaj listę rekordów relacyjnych.
  18. Na stronie Dodaj rekord relacyjny okna dialogowego określ kolumny, które chcesz dołączyć do listy rekordów relacyjnych. Kliknij przycisk Dalej.
  19. Do celów tego kursu należy wyświetlić dla każdego ogłoszenia drobnego tylko tytuł, opis, kategorię, cenę i numer telefonu. Domyślnie zaznaczone są wszystkie kolumny. Wyczyść wszystkie kolumny z wyjątkiem następujących:
    • MAINCATEGORY: String
    • TITLE: String
    • DESCRIPTION: String
    • PRICE: BigDecimal
    • PHONE: String
  20. Można określić organizację wyświetlania tabeli danych na stronie WWW. Aby zmienić kolejność kolumn, wybierz kolumnę i klikaj przyciski strzałek w górę i w dół, dopóki nie znajdzie się ona na żądanej pozycji.
    Uporządkuj kolumny w następującej kolejności:
    • TITLE
    • DESCRIPTION
    • MAINCATEGORY
    • PRICE
    • PHONE
    Kliknij przycisk Zakończ.
    Strona WWW powinna wyglądać teraz następująco:
    Aktualny wygląd strony.
  21. Zapisz stronę.
Wyniki
W następnej lekcji zobaczysz, jak strona ta będzie wyglądała na rzeczywistym serwerze WWW. Istnieje wiele opcji formatowania tabel danych i komponentów JavaServer Faces. Niektóre z tych opcji zostaną omówione w następnym module. Można również samodzielnie wypróbować widok Właściwości pod kątem zastosowania różnych komponentów JavaServer Faces na stronie (na przykład tabeli danych i poszczególnych komponentów wyjściowych).

Punkt kontrolny lekcji

Lekcja 1.2 została zakończona. W ramach tej lekcji użytkownik nauczył się, w jaki sposób połączyć się z bazą danych i wyświetlić rekordy danych na stronie WWW, korzystając z listy rekordów relacyjnych.
< Wstecz | Dalej >

Opinie