Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.



Podobne dokumenty
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Aplikacje internetowe i rozproszone - laboratorium

<bean name="datecontroller" class="controllers.datecontroller" /> package controllers;

Aplikacje WWW - laboratorium

Spring MVC Andrzej Klusiewicz 1/18

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Instalacja i konfiguracja automatu synchronizacji CDN OFFLINE

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

Aplikacje WWW - laboratorium

Wzorce projektowe warstwy aplikacji

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Java Database Connectivity

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Aplikacje WWW - laboratorium

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

INSTRUKCJA KONFIGURACJI PRZEGLĄDARKI INTERNET EXPLORER

W wyświetlonym okienku New Web Server Application wybierz opcję Web App Debugger Executable, a w polu Class Name wpisz: P1.

Zaawansowane aplikacje internetowe - laboratorium

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Konfigurator opisuje proces instalacji i konfiguracji karty sieciowej bezprzewodowej D-Link DWL-520+ w systemach /2000/XP /

INFORMATOR TECHNICZNY WONDERWARE. Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Zerowe składki na FP i FGŚP

Microsoft Management Console

elektroniczna Platforma Usług Administracji Publicznej

Zastosowanie komponentów EJB typu Session

Zaawansowane aplikacje internetowe laboratorium

Konfiguracja przeglądarek internetowych oraz Panelu Java dla klientów instutucjonalnych problemy z apletem do logowania/autoryzacji

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

UWAGA! PRZECZYTAJ NAJPIERW:

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Aplikacje internetowe - laboratorium

Zdalne odnawianie certyfikatów do SWI

SpedCust 5 instrukcja instalacji

Zaawansowane aplikacje internetowe laboratorium

db powernet Instalacja czytnika kart mikroprocesorowych (instrukcja)

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

VinCent Office. Moduł Drukarki Fiskalnej

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Zaawansowane Aplikacje Internetowe

I. Zakładanie nowego konta użytkownika.

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

Testowanie podstawowej konfiguracji serwera w środowisku NetBeans

Tomasz Greszata - Koszalin

Instrukcja. 1 Zamawiając kuriera. W Paczkomacie lub POK. 3 Nadając list polecony. nadawania przesyłek z Allegro: (Punkt Obsługi Klienta)

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Przyk ad konfiguracja MRP przy pomocy IO kontrolera Simatic S7-300 i switchy Scalance X

Przewodnik Google Cloud Print

INFORMATOR TECHNICZNY WONDERWARE

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

INFORMATOR TECHNICZNY WONDERWARE

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Przeniesienie lekcji SITA z płyt CD na ipoda touch

Tworzenie aplikacji J2EE w technologii Struts

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

3) Kreator nowego połaczenia

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Specyfikacja techniczna banerów Flash

INFORMATOR TECHNICZNY WONDERWARE. Instalacja oprogramowania Industrial Application Server 2.1

Architektury Usług Internetowych. Laboratorium 1 Servlety

Aplikacje WWW - laboratorium

Instrukcja wgrywania synoptyki pola (wersja modelu danych do 634)

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax lub kom e mail: info@mdh-system.pl

Projektowanie aplikacji J2EE w architekturze Model-View-Controller

Aplikacje WWW - laboratorium

Opis instalacji systemu Intranet Komunikator

Krótka instrukcja obsługi ZELARIS ELEMENTS

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Pracownia internetowa w ka dej szkole (edycja 2004)

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.

JMMS Instrukcja użytkowania kont Autor oraz Recenzent

INTERAKTYWNA APLIKACJA MAPOWA MIASTA RYBNIKA INSTRUKCJA OBSŁUGI

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

INFORMATOR TECHNICZNY WONDERWARE

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Zaawansowane aplikacje internetowe - laboratorium

InsERT GT Własne COM 1.0

Linux LAMP, czyli Apache, Php i MySQL

Wyślij sterownik. Podręcznik administratora

Aplikacje internetowe i rozproszone - laboratorium

Zaawansowane aplikacje internetowe - laboratorium

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

PRESTASHOP INTEGRATOR XL BY CTI INSTRUKCJA

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

raceboard-s Szybki start

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Automatyzacja procesu publikowania w bibliotece cyfrowej

KALENDARZE. Ćwiczenie 1 Tworzenie nowego, edycja kalendarza. 1. Uruchom nowy projekt. 2. W menu Narzędzia kliknij polecenie Zmień czas pracy

Podręcznik użytkownika. procertum SmartSign 4.0 Wersja dokumentacji Unizeto Technologies SA -

Transkrypt:

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. 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 pracowników. Do wykonania ćwiczenia potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 5.0 (do pobrania z http://www.netbeans.org), środowisko J2SE 1.4.2 (lub wyższe), oraz Spring Framework 1.2.8 (do pobrania z http://www.springframework.org/download). 1. Uruchom narzędzie NetBeans IDE 5.0 2. Z menu głównego wybierz File New Project. Wybierz kategorię Web i typ projektu Web Application. Kliknij przycisk Next >.

3. Podaj nazwę projektu, np. Spring. Upewnij się, że opcja Set Source Level to 1.4 jest odznaczona. Kliknij przycisk Finish. 4. W nawigatorze projektu (okno po lewej stronie) rozwiń drzewo Configuration Files i kliknij dwukrotnie na pliku web.xml. W oknie edytora przejdź na zakładkę Servlets (pasek z przyciskami u góry okna edycji).

5. Kliknij przycisk Add Servlet Element.... Wprowadź nazwę serwletu zarządcy, SimpleMVC. Jako zarządcę wykorzystamy serwlet dostarczony przez architekturę Spring. Jako klasę serwletu zarządcy wprowadź następującą klasę: org.springframework.web.servlet.dispatcherservlet. Jako wzorzec URL żądań kierowanych do serwletu zarządcy wprowadź: /springmvc/*. Kliknij przycisk OK. 6. Plikiem konfiguracyjnym i kontekstowym dla naszego serwletu jest plik o nazwie /WEB-INF/[servletname]-servlet.xml. Kliknij prawym przyciskiem myszy na katalogu WEB-INF i z menu wybierz New XML Document. Wprowadź nazwę pliku: SimpleMVC-servlet (nie dodawaj rozszerzenia, zostanie ono dodane automatycznie!). Kliknij przycisk Next >.

7. Wybierz opcję Well-formed Document i kliknij przycisk Finish. 8. Wprowadź do pliku SimpleMVC-servlet.xml następujący kod. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean name="/index.html" class="controller.simplecontroller"/> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix"><value>/web-inf/jsp/</value></property> <property name="suffix"><value>.jsp</value></property> <property name="viewclass"> <value>org.springframework.web.servlet.view.jstlview</value> </property> </bean> </beans>

9. Powyższa konfiguracja zleca kierowanie żądań o URL /simplemvc/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. Kliknij przycisk Finish. 10. 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. package controller; import org.springframework.web.servlet.modelandview; import org.springframework.web.servlet.mvc.abstractcontroller; import javax.servlet.http.*; import java.util.*; public class SimpleController extends AbstractController { public SimpleController() { } public ModelAndView handlerequestinternal (HttpServletRequest request, HttpServletResponse response) throws Exception { } } ModelAndView mav = new ModelAndView("welcome"); mav.addobject("date", new Date()); return mav;

11. Błędy kompilacji są związane z tym, że do projektu nie dołączyliśmy jeszcze bibliotek Spring Framework. Kliknij prawym przyciskiem myszy na ikonie Libraries (u dołu w oknie nawigatora projektu). Z menu kontekstowego wybierz opcję Add JAR/Folder Przejdź do katalogu lokalnego w którym zainstalowała(e)ś Spring Framework. Przejdź do podkatalogu dist i dodaj wszystkie znajdujące się tam biblioteki *.jar. Kliknij przycisk Open. 12. Kolejny krok to zbudowanie strony JSP wywoływanej przez kontroler. Kliknij prawym przyciskiem myszy na ikonie katalogu WEB-INF w nawigatorze projektu i z menu kontekstowego wybierz New File/Folder Przejdź do kategorii Other i zaznacz jako typ pliku Folder. Kliknij przycisk Next >.

13. Podaj nazwę folderu: jsp i kliknij przycisk Finish. 14. Kliknij prawym przyciskiem myszy na nowo utworzonym folderze jsp i z menu kontekstowego wybierz New JSP. Podaj nazwę dokumentu: welcome (nie podawaj rozszerzenia, zostanie dodane automatycznie!). Kliknij przycisk Finish.

15. Plik welcome.jsp zostanie otwarty w edytorze. Wprowadź następujący kod. <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>spring MVC</title> </head> <body> <h1>congratulations!</h1> Now it is <c:out value="${date}"/> </body> </html> 16. Powyższa strona JSP korzysta z biblioteki znaczników JSTL, należy zatem dodać odpowiednią bibliotekę do projektu. Kliknij prawym przyciskiem myszy na ikonie Libraries i z menu kontekstowego wybierz Add Library Zaznacz bibliotekę JSTL 1.1 i kliknij przycisk Add Library.

17. Domyślnym plikiem projektu jest index.jsp. Zmodyfikuj zawartość tego pliku w taki sposób, aby odwołanie do index.jsp było natychmiast przekierowane do przygotowanego przez nas kontrolera. Kliknij dwukrotnie na pliku index.jsp i wprowadź następujący kod. <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>simple MVC with Spring</title> </head> <body> <jsp:forward page="/simplemvc/index.html"/> </body> </html> 18. Uruchom aplikację za pomocą kombinacji klawiszy Shift+F6. 19. 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). <bean id="dbbean" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <property name="driverclassname" value="oracle.jdbc.driver.oracledriver"/> <property name="url" value="jdbc:oracle:thin:@host:port:sid"/> <property name="username" value="username"/> <property name="password" value="password"/> </bean>

20. 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 JAR/Folder Przejdź do lokalnego katalogu zawierającego sterownik JDBC i zaznacz plik ze sterownikiem. Kliknij przycisk Open. 21. 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. package controller; import org.springframework.web.servlet.modelandview; import org.springframework.web.servlet.mvc.abstractcontroller; import org.springframework.context.applicationcontext; import org.springframework.context.support.classpathxmlapplicationcontext; import org.springframework.jdbc.core.jdbctemplate; import org.springframework.jdbc.datasource.drivermanagerdatasource; import javax.servlet.http.*; import java.util.*; public class SimpleController extends AbstractController { } } public SimpleController() { } public ModelAndView handlerequestinternal(httpservletrequest request, HttpServletResponse response) throws Exception { ApplicationContext ctx = this.getapplicationcontext(); DriverManagerDataSource dbbean = (DriverManagerDataSource)ctx.getBean("dbBean"); JdbcTemplate template = new JdbcTemplate(dbBean); List employees = template.queryforlist("select * from emp"); List empmap = new ArrayList(); for (Object o : employees) empmap.add((map)o); ModelAndView mav = new ModelAndView("welcome"); mav.addobject("date", new Date()); mav.addobject("employees",empmap); return mav;

22. Zmodyfikuj wynikową stronę JSP w taki sposób, aby wyświetlała wynik zapytania przesłany przez kontroler w obiekcie empolyees. Kliknij dwukrotnie na pliku welcome.jsp. Ostateczna postać pliku powinna być następująca. <%@page contenttype="text/html"%> <%@page pageencoding="utf-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>spring MVC</title> </head> <body> <h1>congratulations!</h1> Now it is <c:out value="${date}"/> <fmt:setlocale value="en_us"/> <h1>employee list</h1> <table border="1"> <tr><th>name</th><th>job</th><th>salary</th></tr> <c:foreach var="emp" items="${employees}"> <tr> <td><c:out value='${emp["ename"]}'/></td> <td><c:out value='${emp["job"]}'/></td> <td><fmt:formatnumber type="currency" value='${emp["sal"]}'/></td> </tr> </c:foreach> </table> </body> </html>

23. Wróć do pliku index.jsp i uruchom aplikację za pomocą kombinacji klawiszy Shift+F6.