Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej architekturę Spring. Aplikacja składa się z jednego zarządcy (ang. dispatcher) i jednego kontrolera wyświetlającego stronę JSP. Dodatkowo, aplikacja wykorzystuje mechanizm fabryki komponentów do połączenia się z bazą danych i wyświetlenia listy klientów. Do wykonania ćwiczenia potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 7.4 (do pobrania z http://www.netbeans.org) oraz środowisko JAVA EE 7.0 Web. 1. Uruchom narzędzie NetBeans IDE 6.1 2. Z menu głównego wybierz File New Project. Wybierz kategorię Java Web i typ projektu Web Application. Rezultat:
3. Kliknij przycisk Next >. Rezultat: (Uwaga: pole Project Location może być inaczej wypełnione). 4. Ustal katalog projektu (Projekt Location) a następnie podaj nazwę projektu, np. Spring. Rezultat:
5. Kliknij przycisk Next >. Rezultat: 6. Wszystkie wpisy pozostaw bez zmian (Server: GlassFish V4, Java EE Version: Java EE 7 Web, Context Path: /Spring). Kliknij przycisk Next >. Rezultat:
7. Ustaw znacznik przy Spring Web MWC 2.5. W tym momencie uaktywnią się nowe opcje. W zakładce Configuration w polu Dispatcher Name wpisz SimpleMVC. Pozostałe wpisy pozostaw bez zmian. Rezultat: 8. Kliknij przycisk Finish. Rezultat:
9. Utworzyła się aplikacja, którą można już uruchomić. W tym celu: 1. Przebuduj projekt: 1. w oknie projektu kliknij prawym klawiszem myszy na nazwie projektu (Spring); 2. z rozwijalnego menu wybierz Clean and Build i obserwuj komunikaty pojawiające się w trakcie przebudowy projektu; poprawne zakończenie tej operacji jest niezbędne do prawidłowego działania aplikacji. 2. Uruchom serwer w trybie debugowania: 1. kliknij na zakładce Services w lewym górnym oknie; 2. rozwiń folder Servers; 3. kliknij prawym klawiszem myszy na GlassFish V4; 4. z menu rozwijalnego wybierz Start in Debug Mode. 3. Uruchom aplikację: 1. przejdź do zakładki Projects w lewym górnym oknie; 2. kliknij prawym klawiszem myszy na nazwie projektu (Spring); 3. z rozwijalnego menu wybierz Run i obserwuj komunikaty pojawiające się w trakcie uruchamiania projektu; aplikacja powinna uruchomić się poprawnie. W oknie przeglądarki powinien ukazać się obrazek podobny do:
Jeśli to nastąpi, do każdego następnego uruchomienia powinna wystarczyć opcja Run (z menu rozwijalnego lub głównego sprawdzić!) bez ponownego ręcznego uruchamiania serwera; jeśli w aplikacji dokonano poważniejszych zmian, w celu uruchomienia trzeba będzie być może powtórzyć całą procedurę z punktów 6.1), 6.2), 6.3); 7. Odszukaj w pliku SimpleMVC-servlet.xml następujący fragment kodu: Zastąp go kodem: 8. Powyższa konfiguracja zleca kierowanie żądań o URL index.html do kontrolera o nazwie controller.simplecontroller. Kolejnym krokiem jest implementacja tego kontrolera. Kliknij prawym przyciskiem myszy na ikonie Source Packages i z menu kontekstowego wybierz New Java Class Wprowadź nazwę klasy: SimpleController i nazwę pakietu: controller. Rezultat:
Kliknij przycisk Finish. 9. Plik SimpleController.java zostanie załadowany do edytora. Wprowadź do pliku następujący kod: Kontroler otrzymuje żądanie, tworzy nowy obiekt wynikowy ModelAndView, dodaje do modelu obiekt biznesowy (w tym przypadku prosty obiekt java.util.date) i zwraca obiekt wynikowy. Nazwa obiektu wynikowego welcome" jest tłumaczona na /WEB- INF/jsp/welcome.jsp.
10. Kolejny krok to zbudowanie strony JSP wywoływanej przez kontroler. Kliknij prawym przyciskiem myszy na folderze jsp i z menu kontekstowego wybierz New JSP. Podaj nazwę dokumentu: welcome (nie podawaj rozszerzenia, zostanie dodane automatycznie!). Rezultat: Kliknij przycisk Finish. 11. Plik welcome.jsp zostanie otwarty w edytorze. Wprowadź następujący kod:
12. Uruchom aplikację za pomocą kombinacji klawiszy Shift+F6. Jeśli nie zadziała, kliknij prawym klawiszem myszy na katalogu Spring w lewym górnym oknie i z menu rozwijalnego wybierz Debug. Aplikacja powinna uruchomić się poprawnie. 13. Zamknij sesję debuggera (Shift-F5) i uruchom ponownie aplikację opcją Run. Zapamiętaj adres wyświetlony w pasku adresu przeglądarki. Można teraz spróbować przy działającym serwerze GlassFish uruchomić przeglądarkę (dowolną) i wpisać ten adres (np: http://localhost:8080/spring/index.htm). Strona z godziną i datą powinna się ukazać. 14. Kolejny krok to dodanie do projektu komponentu odpowiedzialnego za nawiązanie połączenia z bazą danych. Kliknij dwukrotnie na pliku SimpleMVC-servlet.xml i wewnątrz znaczników <beans></beans> wprowadź następującą definicję komponentu dbbean, oczywiście podając prawidłowe parametry połączenia (host, port, sid, username, password): 15. Nawiązanie połączenia z bazą danych wymaga dołączenia do projektu właściwego sterownika JDBC. Kliknij prawym przyciskiem myszy na ikonie Libraries i z menu kontekstowego wybierz Add Library Wybierz z listy sterownik Java DB Driver i kliknij Add Library. 16. Nawiązanie połączenia, wykonanie zapytania i odczytanie wyników zapytania jest realizowane w kontrolerze. Kliknij dwukrotnie plik SimpleController.java. Dodaj kod obsługi połączenia z bazą danych. Ostateczna postać kontrolera powinna być następująca:
17. Zmodyfikuj wynikową stronę JSP w taki sposób, aby wyświetlała wynik zapytania przesłany przez kontroler w obiekcie employees. Kliknij dwukrotnie na pliku welcome.jsp. Ostateczna postać pliku powinna być następująca: 18. Uruchom aplikację za pomocą Run. Jeśli się nie uda, przebuduj aplikację i uruchom w trybie debugowania.