JAVA EE SPRING FRAMEWORK 3 + TILES2 + HIBERNATE 3 + SPRING SECURITY 3 TUTORIAL BETA. Paweł Tomaszek

Wielkość: px
Rozpocząć pokaz od strony:

Download "JAVA EE SPRING FRAMEWORK 3 + TILES2 + HIBERNATE 3 + SPRING SECURITY 3 TUTORIAL BETA. http://code.google.com/p/stackov/ Paweł Tomaszek 30.04."

Transkrypt

1 JAVA EE SPRING FRAMEWORK 3 + TILES2 + HIBERNATE 3 + SPRING SECURITY 3 TUTORIAL BETA Paweł Tomaszek pwl.tomaszek(at)gmail.com

2 SPIS TREŚCI 1. Wstęp Dygresji kilka Podział tutorialu na projekty Dostęp do projektów Słownikowa szczypta teorii IDE i związane Eclipse, JRE, JDK Kontener webowy Apache Tomcat Witaj Świecie! Witaj Chaosie! HelloWorld.war Nowy projekt Spring Framework konfiguracja Warstwa kontrolera Uruchomienie Koncepcja rozwoju projektów Szablon widoków StackOv-Tiles.war Tiles konfiguracja I warstwa prezentacji Baza danych StackOv-Hibernate.war Baza danych Hibernate konfiguracja Warstwa kontrolera Warstwa dostępu do danych Warstwa prezentacji Podsumowanie Autoryzacja StackOv-SpringSecurity.war SpringSecurity konfiguracja Warstwa prezentacji Podsumowanie All-In-One StackOv.war Bibliografia... 30

3 1. Wstęp 1.1. Dygresji kilka Dokument ma na celu przedstawienie kolejnych kroków prowadzących do stworzenia prostego serwisu internetowego. Nie ukazuje jednak, jak klik po kliku tego dokonać, ani dokładnie co, jak i dlaczego jest w danej chwili robione. Z tego powodu pogłębianie wiedzy przez korzystanie z wyszukiwarek internetowych, forów i literatury specjalistycznej jest wskazane. W Sieci znaleźć można wiele polsko- i angielskojęzycznych samouczków ukazujących różne podejścia i narzędzia związane z tematem aplikacji internetowych oraz technologii Java Enterprise Edition. Polecam korzystać z nich, samemu testować i wybierać, co jest subiektywnie lepsze. Niektóre kwestie, takie jak konfiguracja JDK z IDE, nie będą tu poruszane, ponieważ tak daleko idące powielanie wiedzy Internetu, nawet dla ateisty wydaje się być grzechem. Także niniejszy tekst dla niektórych może wydawać się swoistą kalką i w pewnym stopniu tak właśnie jest. Tutorial nie ma na calu dogłębnego wyjaśniania, czym jest JVM, JRE, JDK, IDE i inne trzyliterowe skróty. Informację o wspominanych należy czerpać z Internetu, tudzież literatury książkowej. Charakterystyka używanych bibliotek jest bardzo ogólna. Oczywistym jest, gdzie można odnaleźć odpowiednią dokumentację na ich temat. Wszystkie operacje przedstawione w dokumencie zostały wykonane w systemie Windows XP 64-bit SP3. Nie ma jednak problemu z programowaniem pod Linuksem czy innymi wersjami systemów MS (wymagania co do platformy OS znaleźć można na oficjalnych stronach deweloperów narzędzi). Frameworkowi czy frejmłorkowi? Konwencja jaką przyjąłem dla niektórych może wydawać się poprawna, a dla innych już nie. Zasady j. polskiego jasno nie precyzują jak postępować z żargonem technicznym będącym jednym z LSP (language for specific purposes). Wyznacznikiem przy pisaniu tekstu, było to, byś po prostu mogła/mógł zrozumieć o co chodzi. Styl nazewnictwa klas i plików został przyjęty z ogólnie panujących konwencji, z którymi miałem styczność (dowiedz się sama/sam, dlaczego część początkowa pakietów Java nosi nazwę odwróconego adresu internetowego). Nie wszystko będzie jasne na samym początku to normalne. Nie będzie też tłumaczone korzystanie m.in. z oficjalnej dokumentacji to chleb powszedni programisty. Z każdą kolejną stroną powinno być lepiej. Możliwe, że w tutorialu występują błędy natury językowej i technicznej daj znać, to poprawię. 1

4 1.2. Podział tutorialu na projekty Tutorial składa się z 5 projektów, z których każdy kolejny zawiera w sobie to co poprzedni + modyfikacje i nowe frameworki. Kolejne rozdziały opisują tworzenie bądź budowę każdej z aplikacji: HelloWorld.war podstawowa konfiguracja nowego projektu jedynie ze Spring Framework i stroną JSP na kontenerze Tomcat; warstwa kontrolerów; podstawowy obieg danych w szablonie MVC (w zasadzie same warstwy VC) StackOv-Tiles.war szablon widoków Tiles StackOv-Hibernate.war CRUD (zapisywanie/odczytywanie/edytowanie/usuwanie) obiektów z baz danych; konfiguracja serwera MySQL i aplikacji webowej; mapowanie obiektów Java na obiekty w bazie i vice versa za pomocą Hibernate; używanie podstawowych funkcji działania na obiektach StackOv-SpringSecurity.war autoryzacja za pomocą Spring Security; podstawowa konfiguracja i implementacja StackOv.war najbardziej rozbudowany projekt. Integruje wcześniej użyte frameworki na nieco większym poziomie; współtworzony z Grzegorzem Ilachem, odpowiedzialnym głównie za front-end oraz AJAX/JSON; tutorial Grześka oraz poruszone przez niego kwestie znajdować się będą w innym pliku, tak więc przy przeczesywaniu projektu przydadzą Ci się oba dokumenty każdy będzie poruszał inne aspekty jednej aplikacji 1.3. Dostęp do projektów Najnowsze wersje aplikacji znajdują się w repozytorium SVN w drzewie branches (dla 4 pierwszych projektów; archiwa w dziale Download mogą być przestarzałe) oraz w katalogu trunk (dla StackOv.war). Adres: 2

5 2. Słownikowa szczypta teorii Serwlet obiekt klasy Java, który potrafi odpowiadać na zgłoszenia HTTP. Kontener/serwer aplikacji pudełko, w którym egzystują serwety. Jego zadaniem jest zarządzanie przekierowaniami, transakcjami, cyklem życia serwletów, bezpieczeństwem i kilkoma innymi kwestiami. Servlet API interfejs umożliwiający interakcję pomiędzy serwletem a kontenerem webowym. MVC model, widok, kontroler. Model obiekt używany w aplikacji, jak również warstwa DAO. Kontroler klasa przyjmująca żądania i działająca na ich podstawie. Często wymusza zmiany w modelu i zwraca widok. Widok strona będąca interfejsem użytkownika, czyli po prostu wygenerowana w przeglądarce treść; widok to także określenie źródła, czyli plik HTML, JSP, JSF, itp. DAO Data Access Object. BO Business Object. 3

6 3. IDE i związane 3.1. Eclipse, JRE, JDK Pracę należy zacząć od pobrania zintegrowanego środowiska programistycznego ze wsparciem dla Java EE, np. Eclipse Helios [1] lub NetBeans. Przy pisaniu poradnika wykorzystano pierwszy z wymienionych programów. Uwaga! Mimo posiadania 64-bitowego OS, lepiej nie pobierać 64-bitowych wersji środowisk. U mnie pojawiały się problemy z IDE oraz JDK/JRE, co jest dosyć znaną przypadłością, lecz nie regułą. Jednak bezpieczniej będzie pobrać 32-bitową wersję Eclipse i Javy. Proces instalacji ogranicza się do wypakowania archiwum zip do miejsca, w którym trzymane są programy. Przy pierwszym uruchomieniu najprawdopodobniej wyskoczy taki komunikat: Rys Informacja o braku Javy Do uruchomienia Eclipse wystarczy JRE, jednak do tworzenia aplikacji niezbędne jest JDK (które notabene zawiera w sobie niezależne JRE). Dlatego, jeśli nie masz JDK, pobierz je ze strony Oracle [8]. Jeśli jest już w systemie, wystarczy, że wykonasz jedną z rzeczy: ustalisz zmienną systemową PATH na ścieżkę do javaw.exe ustawisz odpowiednią ścieżkę w pliku eclipse.ini z parametrem -vm skopiujesz JRE w folder wskazany w komunikacie, tak by plik javaw.exe był widziany przez IDE we własnym podkatalogu jre Uruchomienie aplikacji oznacza, że JRE jest poprawnie dowiązane. Kolejnym sprawą, o którą upomni się IDE, jest wskazanie katalogu workspace, w którym to będą przechowywane nowotworzone projekty. Rys Wskazanie katalogu roboczego 4

7 W razie problemów posiłkuj się stroną producenta [2]. Na sam koniec upewnij się, że w Eclipse ustawiony jest widok Java EE. Zmiana perspektywy: Window > Open Perspective > Other > Java EE Jeśli dopiero zaczynasz przygodę z Eclipse lub w ogóle z programowaniem z użyciem IDE, polecam pobawić się w klikanego: najeżdżać myszą nad przyciski, czytać opisy i wciskać je, jeśli przyjdzie na to ochota. Eclipse jest bardzo stabilne i dopóki przed klawiaturą nie posadzi się kilku małp, nic nie powinno się stać. Drobne zepsucie czegoś (przestawienie widoku, usunięcie pasków narzędzi czy paneli) i późniejsze naprawienie, sprawi, że poczujesz się pewniej z platformą Kontener webowy Apache Tomcat Aplikacje stworzone w technologii Java EE uruchamia się w specjalnym środowisku kontenerze webowym (serwerze Java EE). Jednym z nich jest Tomcat. Inne to m.in. GlassFish i JBoss. Na poziomie zabawy z technologią Java EE wybór kontenera nie ma większego znaczenia. Warto jednak zaznaczyć, że Tomcat pracuje w miarę stabilnie (czasem są problemy z publikowaniem zmian) i szybko się uruchamia, co dla środowiska developerskiego jest dużym plusem. Dywagacje na temat wyższości jednych rozwiązań nad innymi, znaleźć można m.in. w publikacjach internetowych. Instalacja serwera obejmie 7. wersję Tomcata: Pobierz Tomcat 7.0 ze strony Tomcat Apache [5]. Ściągnij odpowiednią paczkę (np. 32-bit Windows zip) i rozpakuj ją do folderu programów. W Eclipse kliknij PPM (Prawy Przycisk Myszy) w panelu Servers > New > Server. Rys Panel serwerów Z listy wybierz Apache/Tomcat v7.0 Server i kliknij Next. Podaj lokalizację serwera i zakończ kreator. 5

8 Rys Powiązanie projektu z kontenerem Na liście serwerów pojawiła się nowa pozycja. Zaznacz ją i kliknij w ikonę strzałki na zielonym tle, oznaczoną jako Start the server. Wpisz w oknie przeglądarki (zewnętrznej lub wewnętrznej) adres Jeśli pojawi się okienko powitalne Tomcat, jest dobrze. W innym przypadku należy zdiagnozować, co jest nie tak. Zastopuj serwer, wejdź w katalog Tomcata, a dalej w podfolder bin. Wciśnij na klawiaturze Win+r, wpisz cmd. Na otwartą konsolę przeciągnij i upuść plik startup.bat. Jeśli wyskoczył błąd dotyczący: JAVA_JRE, ustaw zmienną systemową o tej nazwie na katalog zainstalowanego JDK. CATALINA_HOME, ustaw zmienną systemową o tej nazwie na katalog wypakowanego Tomcata. 6

9 Poprawny start powinien prezentować się mniej-więcej tak: Rys Start serwera z poziomu konsoli Komunikat o APR można zignorować. Chodzi o to, że dodatkowe biblioteki mogą zoptymalizować działanie Tomcata. Jeśli chcesz, możesz z nich skorzystać. By zatrzymać serwer, wciśnij Ctrl+C lub uruchom shutdown.exe z podkatalogi bin. Przetestuj działanie kontenera z poziomu Eclipse. Jeśli pojawia się Error 404, zastopuj serwer, wejdź w jego ustawienia i zaznacz opcję Use Tomcat Installation. Zapisz zmiany i uruchom serwer. Jeśli po jego włączeniu pojawia się strona powitalna, pozostaw taką konfigurację. Jednak w takim przypadku dobrze jest usunąć przykładowe projekty z folderu webapps katalogu Tomcata, by uniknąć ich deployowania przy każdym starcie serwera (zwróć uwagę na logi konsoli). 7

10 4. Witaj Świecie! Witaj Chaosie! HelloWorld.war Nie wyłamując się z konwencji, czas na Przywitanie! Jeśli nie masz ochoty na wykonywanie poniższych kroków, skorzystaj z przygotowanego projektu HelloWorld.war, który zawiera w sobie prawie dokładnie to samo (zewnętrzne biblioteki nie są dodawane do archiwów oszczędność miejsca. Musisz je dodawać indywidualnie do każdego projektu.), co otrzymałabyś/otrzymałbyś po przebrnięciu przez paragrafy. Dojdź samodzielnie, jak go zaimportować. Przedstawione w rozdziale (i kolejnych) informacje z pewnością nie będą od razu jasne. Nie jest moją intencją tłumaczenie wszystkiego. Od tego jest odpowiednia literatura i inne tutoriale, a także niezbędne godziny spędzone przed monitorem. Powodzenia! 4.1. Nowy projekt By utworzyć nowy projekt, wyklikaj: File > New > Dynamic Web Project Okno powinno zostać wypełnione, jak na poniższym obrazku. Rys Okno tworzenia nowego projektu 8

11 Wersja modułu odpowiada wersji serweta, który ma dostęp do API (także w odpowiedniej wersji). Wybór 3.0 API Servlet pociąga za sobą pewne wymogi: wersja JDK >=1.6 kontener webowy Tomcat >=7.0 Jeśli nie stać programisty na luksus 3.0, może zmienić wersję na np. 2.5, która znacznie obniża wymagania, lecz nie ma większego wpływu na docelowe działanie aplikacji, która i tak będzie jedynie zabawką, niekorzystającą z najnowszych usług Java EE. Jeszcze dwa kliknięcia w Next i okno dialogowe przeniesie Cię do ostatniego punktu dialogowego. Upewnij się, że zostało zaznaczone pole Generate web.xml deployment descriptor, a następnie wciśnij Finish. Deskryptor web.xml jest sercem aplikacji; definiuje serwety oraz ich parametry, np. mapowanie adresu czy kodowanie znaków w kontekście całej aplikacji. Więcej o jego zadaniach przeczytasz w kolejnych rozdziałach. W lewym panelu pojawi się drzewo projektu z szeregiem odnóg. Interesujące są: Java Resources miejsce, w którym znajdować się będą pisane klasy Java WebContent zasoby aplikacji: widoki jsp, konfiguracja serwletów i bibliotek, ale także obrazki, js, style css, itp Spring Framework konfiguracja Z pewnością wiesz (przynajmniej ogólnikowo), czym jest Spring Framework. Czas na jego implementację w projekcie. Odpowiednie biblioteki (rys. 4.4.) pobrane ze strony Spring Source [7] umieść w katalogu WebContent/WEB- INF/lib. To będzie standardowe miejsce dla wszystkich dodawanych jarów. Konfiguracja web.xml: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee id="webapp_id" version="3.0"> <!-- Ustawienie kodowania w obrębie aplikacji Standardem jest UTF-8 --> <filter> <filter-name>characterencodingfilter</filter-name> <filter-class>org.springframework.web.filter.characterencodingfilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>forceencoding</param-name> <param-value>true</param-value> </init-param> </filter> <!-- UrlRewriteFilter FILTER Odpowiednio modyfikuje adresy URI. O co chodzi widać w pliku konfiguracyjnym urlrewrite.xml --> <filter> <filter-name>urlrewritefilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.urlrewritefilter</filter-class> </filter> <!-- Konfiguracja servleta. 9

12 Najechanie myszką na kolejne bloki powinno wyświelić stosowną pomoc. Ważnym elementem jest blok <param-value> określający miejsce, w którym znajduja się pliki konfiguracyjne dla serwleta. Dane umieszczane w bloku, są inicjalizowane przez VJM i umieszczane w wirtualnej pamięci w obiekcie ServletContext, do którego można w razie potrzeby odwołać się w kodzie Java. --> <display-name>helloworld</display-name> <servlet> <servlet-name>helloworld</servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <init-param> <param-name>contextconfiglocation</param-name> <param-value> /WEB-INF/config/*-config.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Określenie, jakie żądania będzie odbierał serwlet. Może być to np. <url-pattern>*.hw</url-pattern>. W tym przypadku, jeśli zostałoby wywołane żądanie inne niż z zakończeniem.hw, servlet nie obsłużyłby go. --> <servlet-mapping> <servlet-name>helloworld</servlet-name> <url-pattern>/app/*</url-pattern> </servlet-mapping> <!-- Klasa obsługująca pliki konfiguracyjne --> <listener> <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener> <context-param> <param-name>contextconfiglocation</param-name> <param-value> /WEB-INF/config/*-config.xml </param-value> </context-param> <!-- Mapowanie wszyskich żądań przez CharacterEncodingFilter --> <filter-mapping> <filter-name>characterencodingfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Mapowanie wszyskich żądań przez UrlRewriteFilter --> <filter-mapping> <filter-name>urlrewritefilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> Korzystanie z urlrewrite nie jest niezbędne, lecz warto znać to narzędzie, gdyż przy rozbudowanej aplikacji może okazać się bardzo pomocne. O bibliotece przeczytasz w oficjalnej dokumentacji [9], a ogólnikowo, narzędzie pozwala na zmianę wywoływanych adresów na inne, zdefiniowane w pliku konfiguracyjnym. Konfiguracja urlrewrite.xml: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//dtd UrlRewrite 3.0//EN" "http://tuckey.org/res/dtds/urlrewrite3.0.dtd"> <urlrewrite default-match-type="wildcard"> <rule> <from>/images/**</from> <to>/images/$1</to> </rule> <rule> <from>/js/**</from> <to>/js/$1</to> </rule> <rule> <from>/css/**</from> <to>/css/$1</to> </rule> <rule> <from>/**</from> <to>/app/$1</to> </rule> 10

13 <outbound-rule> <from>/app/**</from> <to>/$1</to> </outbound-rule> </urlrewrite> Zgodnie z kodem web.xml, w odpowiednim miejscu należy utworzyć folder config. Będą w nim przechowywane konfiguracje obejmujące różne części aplikacji, a więc konfiguracje dla dołączanych bibliotek. Na początek ustawienia dla Springa. Należy dodać plik app-config.xml, a w jego wnętrzu umieścić: <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemalocation=" > <!-- W podanej ścieżce powinny znajdować się pliki kontrolerów. Kontroler znajdujący się w innej ścieżce (np. pl.com.maslo) nie zostanie przeskanowany podczas wywołania żądania. Kontroler znajdujący się głębiej (np. pl.com.helloworld.maslo.cukierek) zostanie sprawdzony pod kątem pasowania do żądania. --> <context:component-scan base-package="pl.com.helloworld" /> <!-- Włączenie obsługi adnotacji Springa. --> <mvc:annotation-driven /> <!-- Lokalizacja dla pliku startowego po wywołaniu 'gołęgo' żądania serwletu. Po wpisaniu przekierowanie trafi do pliku redirect --> <mvc:view-controller path="/" view-name="redirect" /> <!-- Obsługa tylko pewnego typu plików dla widoków. Wg poniższego zapisu wszystkie widoki brane pod uwagę przez kontrolery muszą się znajdować w katalogu /WEB-INF/jsp/ i muszą mieć rozszerzenie.jsp --> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix" value="/web-inf/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </beans> Idąc dalej, oto kod dla pliku redirect.jsp, który ma się znaleźć w folderze jsp: contenttype="text/html" pageencoding="utf-8"%> <!-- Bezpośrednie przekierowanie do welcome. Zostanie wygenerowany URL o adresie HelloWorld/welcome --> <% response.sendredirect("welcome"); %> W poszukiwaniu kontrolera obsługującego żądanie welcome, zostaną zbadane klasy w ścieżce pl.com.helloworld zdefiniowanej uprzednio w pliku app-config. 11

14 4.3. Warstwa kontrolera By serwlet odnalazł pakiet oraz kontroler, należy je utworzyć. W tym celu rozwiń drzewo Java Resources, kliknij PPM na src > New > Package. Wprowadź nazwę pl.com.helloworld i zatwierdź. Analogicznie dodaj do pakietu klasę Java (Class) o nazwie WelcomeController. Jego zawartość wypełnij tak: package pl.com.helloworld; import java.io.ioexception; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import public class WelcomeController { = "welcome", method = RequestMethod.GET) public String start() throws IOException { System.out.println("hello z kontrolera! "); return new String("/welcome"); } definiuje klasę jako kontroler. Wszystkie pliki oznaczone w ten sposób są przeszukiwane w celu znalezienia pasującej maski dla żądania (definiowanej za Każdy kontroler może obsługiwać wiele żądań zdefiniowanych w kolejnych metodach. W pierwszy parametr odpowiada żądaniu, które obsłuży metoda kontrolera. Drugi to typ żądania (którego nie trzeba definiować na tym etapie projektu, lecz w trakcie rozrostu aplikacji, podział na obsłużenie żądania typu GET, POST i innych, będzie wymagany). Klasa zwraca obiekt klasy String, który w kontekście kontrolera Spring uznawany jest za nazwę pliku widoku. Przypomnij sobie linijki <property name="prefix" value="/web-inf/jsp/"/> <property name="suffix" value=".jsp"/> z pliku app-config.xml i zwróć uwagę, dlaczego mimo podania tylko części nazwy widoku i zupełnym braku ścieżki, kontroler zapewne zwróci poprawny widok. Oczywiście zwróci go, jeśli plik welcome.jsp będzie istniał. Utwórz go w odpowiedniej ścieżce i wstaw kod: page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%> <h2> Hello World! </h2> 4.4. Uruchomienie Projekt wydaje się być skonfigurowany. Pozostaje go odpalić na kontenerze webowym. Wykonaj wybraną czynność: PPM na projekcie > Run As > Run on Server. Wybierz skonfigurowany uprzednio serwer; kliknij Next. kliknij PPM na serwerze > Add and Remove. 12

15 Rys Uruchamianie aplikacji na serwerze Każde z działań doprowadzi Cię do punktu, w którym definiuje się powiązanie aplikacji z kontenerem. Lewa strona zawiera indeks otwartych niepowiązanych projektów, które nie będą publikowane; natomiast prawa listę projektów, które będą instalowane przy starcie/restarcie serwera. Upewnij się, że HelloWorld znajduje się po prawej stronie panelu i kliknij Finish. 13

16 Twym oczom w automagicznie powstałym oknie (o ile wybrałeś pierwszą czynność z początku podrozdziału. Jeśli nie, musisz sam uruchomić serwer i uruchomić wewnętrzną przeglądarkę webową) powinien ukazać się mniej-więcej taki widok: Rys Działająca aplikacja Zwróć uwagę na wiadomość z konsoli (zerknij na kod kontrolera). Oczywiście stronę można oglądać także pod zewnętrznymi przeglądarkami wpisując odpowiedni adres. W ustawieniach Eclipse można dokonać wyboru wewnętrznej przeglądarki. Wartym zauważenia jest, że po modyfikacji jakiegokolwiek pliku i zapisaniu go, w panelu Servers widać poruszenie (zmianę statusu), a w Console nowe logi. Otóż nowoutworzona instancja Tomcata posiada domyślne ustawienie ponownego publikowania (ang. redeploy, republish) danych po każdej aktualizacji tychże. Oczywiście można to zostawić w spokoju, jednak przy większym projekcie taka funkcja jest wielce niepożądana. Aby ją wyłączyć należy kliknąć dwukrotnie na serwer Tomcata w panelu Servers, odnaleźć pole 14

17 Publishing, rozwinąć je, zaznaczyć Never publish automatically, zamknąć zakładkę potwierdzając dokonane zmiany. Od tej chwili deploy będzie odbywał się tylko na żądanie. A oto dotychczasowa struktura projektu: Rys Struktura projektu 15

18 5. Koncepcja rozwoju projektów Znasz podstawy, więc teraz zacznie się ciekawsza zabawa. Załóżmy, że na potrzeby kursu stworzymy prostą stronę a la Stack Overflow [12]. Projekt będzie zawierał: kompozycyjny podział widoku strony (Tiles) dostęp do bazy danych (Hibernate Framework) logowanie (Spring Framework) dodawanie postów (asynchronicznie AJAX/JSON) ocenianie postów (asynchronicznie AJAX/JSON) Jeśli chcesz, zmień nazwę projektu oraz pakietów na coś bardziej odpowiedniego. U mnie będzie to mało oryginalne StackOv. Poza zmianą nazwy projektu, można też zmienić nazwę serwletu w pliku web.xml; w przypadku zmiany nazwy pakietu w folderze src, wymagana jest aktualizacja ścieżki dla kontrolerów w pliku app-config.xml. Aby odnaleźć wzorce tekstowe w projekcie, można pomóc sobie narzędziem wyszukiwania i zamiany (Ctrl+H). By nie rozciągać tutoriala, zmienię nieco kwestię przybliżania kodu źródłowego. Od teraz będę się powoływał do plików i interesujących jego części zamiast listować źródła. Cały kod oraz obszerniejszy komentarz będzie natomiast do zobaczenia po zaimportowaniu kolejnych archiwów projektu i przeczesywaniu jego struktury. 16

19 6. Szablon widoków StackOv-Tiles.war Rozdział ten jest poświęcony frameworkowi Apache Tiles. Umożliwia on kompozycyjny podział layoutu i wygenerowanie widoku. Każdy z elementów strony, jak stopka, menu czy treść główna, muszą znajdować się w oddzielnych plikach. Rys Model kompozycyjny [10] Nieco inne podejście stosuje się w podziale dekoracyjnym, którego używa m.in. Sitemesh, będący jedną z kilku alternatyw dla Tiles. Różnice w obu technologiach dokładniej opisane są na stronie Apache Tiles [10]. 17

20 6.1. Tiles konfiguracja I warstwa prezentacji Po imporcie StackOv-Tiles.war dodaj do projektu odpowiednie biblioteki (rys. 6.2.) z dostarczonego zbioru lub ze strony producenta [11]. Rys Biblioteki Wejdź w folder jsp. Zauważysz tam plik include.jsp oraz folder tiles-templates, w którym znajduje się kilka plików. include.jsp zawiera w sobie importowane ścieżki do wykorzystywanych bibliotek tagów, styli css czy skryptów js. Sam plik jest z kolei importowany w widokach jsp korzystających z wcześniej wymienionych usług. Oczywiście pozycje z include.jsp można samodzielnie importować w widokach, ale zasada stosowana w projekcie wydaje się nieco lepsza. Konfiguracja Tiles opiera się na dwóch plikach xml: tiles-config.xml, w którym zawarta jest ścieżka do biblioteki dla wywołań oraz adres konfiguracyjny dla definicji widoków; tiles-defs.xml, w którym znajdują się definicje widoków. Same nazwy plików w folderze tiles-templates niosą sobą informacje o ich przeznaczeniu. Najciekawiej z nich prezentuje się plik layout.jsp, w którym zawarte są importy odpowiednich części całego widoku użytkownika. <tiles:insertattribute name="menu" /> <tiles:insertattribute name="content" /> <tiles:insertattribute name="footer" /> Plik ten tworzy strukturę portalu, którą tak jak w normalnym pliku jsp, można wspomagać np. blokami div w celu tworzenia odpowiedniego położenia części strony. W naszym przypadku całość będzie wyglądała jak wielopoziomowy tort, więc zwykły import bez używania bloków powinien załatwić sprawę. Czas na przyporządkowanie importowanych atrybutów. W jaki sposób menu, content i footer mapują odpowiednie strony jsp? Spójrz na tiles-defs.xml: <definition name="base.definition" template="/web-inf/jsp/tiles-templates/layout.jsp"> <put-attribute name="menu" value="/web-inf/jsp/tiles-templates/menu.jsp" /> <put-attribute name="content" value="" /> <put-attribute name="footer" value="/web-inf/jsp/tiles-templates/footer.jsp" /> 18

21 </definition> Element definicji nazwany base.definition określa główny szablon strony, którym jest layout.jsp. Kolejne atrybuty definiowane po nazwie wskazują na pliki, które mogą być wstrzykiwane w odpowiednich miejscach w layout.jsp. menu oraz footer są określone od razu. content będzie trzeba przesłaniać. <definition name="/*" extends="base.definition"> <put-attribute name="content" value="/web-inf/jsp/{1}.jsp"/> </definition> <definition name="*/*" extends="base.definition"> <put-attribute name="content" value="/web-inf/jsp/{1}/{2}.jsp"/> </definition> <definition name="*/*/*" extends="base.definition"> <put-attribute name="content" value="/web-inf/jsp/{1}/{2}/{3}.jsp"/> </definition> Każde pasujące żądanie zostanie przepuszczone przez którąś z definicji dziedziczących po base.definition. Definicje potomne domyślnie zawierają to samo co element po którym dziedziczą. Przesłaniają jedynie to, co potrzeba, a są wywoływane jedynie, jeśli pasują do żądania określonego w parametrze name. W aplikacji zależnie od zagnieżdżenia linku widoku zwracanego z kontrolera, odpowiednio pasujący plik będzie ustawiany jako wartość dla atrybutu content. Najlepiej będzie sprawdzić to na przykładzie. W zasadzie wszystko już zostało skonfigurowane i po odpaleniu serwera, tak jak w poprzednim przykładzie, powinieneś zobaczyć treść powitalną, a prócz tego także menu i stopkę. Jak możesz sprawdzić, w kontrolerze zwracany jest napis /welcome. Przez skonfigurowanie Tiles, owy tekst przechodzi przez definicje, wpasowuje się w wyrażenie /* i zostaje uznany jako część ścieżki do pliku stanowiącego obszar content całej wyświetlanej strony. menu i footer są już domyślnie określone w definicji nadrzędnej. Poszczególne części są składane w całość w layout.jsp, a następnie właśnie ten dynamicznie skonstruowany plik jest renderowany i zwracany w przeglądarce jako widok. Dotychczas opisywany projekt znajduje się w archiwum StackOv-Tiles.war. Dodatkowo dodany został pakiet oraz widok dla podstrony O stronie, a także styl css. 19

22 7. Baza danych StackOv-Hibernate.war Hibernate Framework udostępnia funkcje realizujące mapowanie relacyjnych baz danych na obiekty Java i na odwrót. Innymi słowy pozwala na przyjemne wykorzystanie bazy danych w projekcie opartym na aplikacji Java EE Baza danych W projekcie używany będzie serwer MySQL, a dostęp do bazy odbywał się będzie przez aplikację phpmyadmin. Oba komponenty znaleźć można w pakiecie XAMPP [14]. Do uruchomienia phpmyadmin należy włączyć serwer Apache oraz MySQL, a następnie kliknąć przycisk Admin przy drugim. Korzystanie z aplikacji raczej nie powinno stanowić problemu, szczególnie jeśli masz dostęp do Internetu. Jeśli Apache nie startuje, to zapewnie pracuje na zajętym porcie, wykorzystywanym np. przez aktualnie używanego klienta komunikatora. Zlokalizuj aplikację korzystającą z portu i zamknij ją. Po uruchomieniu Apache ponownie włącz aplikację, która być może znajdzie sobie inny port wilk syty i owca cała. Działanie Apache jest wymagane jedynie do phpmyadmin, natomiast do samego projektu Java EE nie jest potrzebne. Na początek utwórz użytkownika sodb (z hasłem) na hoście lokalnym, mającego nadane wszystkie uprawnienia do bazy o tej samej nazwie Hibernate konfiguracja Do zaimportowanego projektu StackOv-Hibernate.war powinieneś dołączyć odpowiednie biblioteki pobrane ze strony producenta [13]. U mnie najnowsza wersja (3.6.3) powoduje problemy. By nie szukać zależności (a nie używam Mavena) zdecydowałem się na skorzystanie ze starszej wersji Hibernate i zależności, z których korzystałem w dawnych projektach. Zbiór bibliotek dla aktualnego projektu widać na rysunku

23 Rys Biblioteki Zajrzyj do katalogu konfiguracyjnego aplikacji i zerknij na plik hibernate-config.xml. W tym jednym pliku zostały ustawione obiekty umożliwiające dostęp do bazy. W komentarzach zostało wyjaśnione co i jak. Istotną rzeczą jest, że wszystkie klasy będące odzwierciedleniami encji w bazie danych muszą być umieszone w pakiecie zdefiniowanych w pliku hibernate-config.xml jako packagestoscan pl.stackov.classes. Z kolei jdbc.properties opisuje parametry połączenia z bazą i konfiguracją Hibernate. Znaczenia konkretnych pól są wyjaśnione w dokumentacji. Zanim przejdziemy dalej, uruchom aplikację. Zauważysz nowy link Lista tematów. Kliknij w niego. Powinna wyświetlić się lista pusta tematów. W kolejnych podrozdziałach znajdziesz wytłumaczenie jak to działa. 21

24 7.3. Warstwa kontrolera Wszystkie obiekty z znajdujące się w pakiecie pl.stackov.modules są przeszukiwane przez Spring przy każdym żądaniu. Jeśli żądanie pasuje do kontrolera, tudzież jego funkcji, to ta funkcja jest wywoływana. W ciele każdej metody można robić wiele, np. pracować na obiektach dostarczonych w żądaniu czy wysyłać dane do zwracanych widoków. Najlepiej prześledzić to na przykładzie: Dodawanie nowych tematów. Jest to możliwe dzięki funkcji add() klasy TopicController, która przenosi użytkownika do formularza w katalogu jsp/edit.jsp. Tam po uzupełnieniu tytułu i zatwierdzeniu, obiekt klasy Temat jest przechwytywany przez żądanie w funkcji add2(), która pociąga do pracy funkcje serwisowe obiektu TopicService, a na końcu przekierowuje do listy tematów. Całość działa wg schematu MVC. Kliknięcie linku w interfejsie użytkownika (View) powoduje wywołanie reakcji w kontrolerze (Controller). W nim mogą nastąpić operacje na bazie danych (Model), po czym zwracany jest kolejny widok użytkownika (View), będący najbardziej zewnętrzną formą odpowiedzi na wcześniej wywołane żądanie. I tak w kółko. Spójrz na obrazki pomocnicze. Rys Poziom zagnieżdżenia warstw architektury trójwarstwowej. Na podstawie [15] Warstwa biznesowa z rysunku 7.2. odpowiada warstwie serwletu, który odbiera wszystkie żądania; kontrolerom, do których trafiają przekierowane z serwlet żądania; oraz klasom pomocniczym, do których odwołują się kontrolery, a które wykonują operacje biznesowe (jednak nie na danych. Dopiero te funkcje wywołują kolejne stanowiące interfejs warstwy danych). Rys Związek pomiędzy modelem, kontrolerem i widokiem. Na podstawie [16] Jak widać z rysunku 7.3. kontroler jest pośrednikiem pomiędzy warstwą widoku i dostępu do danych. Jak zauważyłaś/zauważyłeś w kontrolerze znajduje się obszerny komentarz, dlatego w tym paragrafie opuszczę tłumaczenie co z czym. 22

25 7.4. Warstwa dostępu do danych Zwróć uwagę, że w bazie danych została utworzona nowa tabela temat, a przecież nie było wzmianki o jakimkolwiek kodzie SQL. Hibernate i jego adnotacje pozwalają na automatyczne tworzenie tabel w bazie danych po zdefiniowaniu jedynie klas Java (odpowiada za to parametr hibernate.hbm2ddl.auto=update w hibernate-config.xml)! Zerknij na nowy pakiet.classes, a w nim na klasę Temat.java będąca odpowiednikiem automatycznie wygenerowanej encji temat w bazie danych. Opisywanie wykorzystanych adnotacji mija się z celem, gdyż dokumentacja na ten temat jest naprawdę obfita, a sama struktura niezwykle prosta. Wystarczy wiedzieć, że tak zdefiniowana klasa samoistnie zdefiniuje się w bazie, jeśli oczywiście tabela o tej nazwie nie będzie jeszcze istniała. OK, tabela już jest, lecz brak w niej rekordów. Dodawanie rekordu z poziomu warstwy modelu jest dosyć proste i przedstawia się jak na schemacie: Rys Rozgraniczenie warstwy biznesowej od warstwy dostępu do danych Jesteśmy w widoku formularza dodawania tematu. Po podaniu nazwy tematu kontroler (opisany w poprzednim paragrafie) wywołuje funkcje addtopic(form) z klasy serwisowej BO TopicService (oznaczonej Ta z kolei wywołuje metodę addtopic(temat) z klasy DAO TopicDAO (oznaczonej Owa klasa korzysta z pomocniczej wstrzykniętej klasy hibernatetemplate i wywołuje funkcję add(object) dodawania rekordu do bazy danych. Prześledź cały mechanizm na spokojnie i porównaj z metodami realizującymi inne funkcjonalności. Być może zastanawiasz się dlaczego nie wykorzystałem takiego schematu: Rys Wymieszane w jednej płaszczyźnie funkcjonalności warstwy biznesowej i warstwy dostępu do danych 23

26 Byłoby o dwie klasy mniej (interfejs i implementacja BO), a tak następują po sobie niepotrzebne wywołania kolejnych metod kolejnych interfejsów. Otóż tak też można by zrobić, jednak w trakcie rozrostu projektu wspólny obszar warstwy czysto biznesowej i dostępu do danych niemal na pewno przysporzyłby wielu problemów. Odseparowanie warstw skutkuje lepszą czytelnością, a także ewentualną refaktoryzacją. Zasada jaką powinieneś/powinnaś się kierować jest taka w klasach oznaczonych mają znajdować się metody bezpośrednio działające na bazie tu dobrze umieścić jest logikę biznesową (notabene możliwą do wykonania w kontrolerze, ale z racji, że kontroler powinien być czysty na ile to możliwe, lepiej przenieść ją w te klasy). Dodatkowo, wymienione wyżej adnotacje istnieją nie ot tak sobie. Spring robi z nich użytek, i tak np. w klasie oznaczonej jako DAO można określić role klasy w kontekście całej aplikacji, przyznając dodatkowe możliwości czy ograniczenia (np. nazewnictwo instancji klas w aplikacji, rodzaj transakcyjności), poprzez definiowanie atrybutów danej adnotacji. Nie będzie to wykorzystywane w tym projekcie, ale warto o tym pamiętać. Wartym zauważenia jest fakt, że dodanie nowej warstwy interfejsu, w pewnym stopniu powoduje zwiększenie zapotrzebowania systemu, a także doprowadza do nieco dłuższego wywołania ostatecznego kodu. Jest to cena za zastosowanie zwiększonej modularności, która jednak nie ma dużego znaczenia przy niniejszym projekcie, dla którego prędkość działania nie jest krytycznie ważnym atrybutem. TopicDAOImpl.java najciekawiej prezentująca się klasa warstwy biznesowej ma bezpośredni dostęp do bazy danych. Po wstrzyknięciu obiektu HibernateTemplate (zerknij na hibernate-config.xml i ostatnie linijki) można łatwo korzystać z funkcji operujących na rekordach bazy. Przyjrzyjmy się jednej public List<Temat> getlistoftopics() { DetachedCriteria criteria = DetachedCriteria.forClass(Temat.class); List<Temat> list = hibernatetemplate.findbycriteria(criteria); } return list; Pierwsza adnotacja informuje Spring, by nie sygnalizował ostrzeżeń związanych z rzutowaniem obiektów (wyciągane rekordy umieszczane w liście tematów). Kolejna oznacza, że metoda jest przesłaniana i definiowana z implementowanego interfejsu. DetachedCriteria to klasa pomocnicza służąca do tworzenia zapytań. Nie używany jest jednak SQL, a po prostu metody pozwalające na określenie o co nam chodzi. Stworzone zapytanie może zostać użyte jako parametr do funkcji findbycriteria(detachedcriteria) wyciągającej dane z bazy. Możliwe jest również używanie czystego SQL i użycie funkcjo find(string). Funkcja zwraca listę obiektów Temat, która po drabinie zagnieżdżenia wędruje do warstwy serwisowej, gdzie funkcja getlistoftopics() została wywołana (a dalej do kontrolera, gdzie z kolei została wywołana funkcja serwisowa getlistoftopics() i ostatecznie do zwracanego przez kontroler widoku). 24

27 7.5. Warstwa prezentacji <h2>lista tematów</h2> <a href="add">dodaj temat</a> <table> <c:foreach items="${topics}" var="item"> <tr> <td><c:out value="${item.id}" /></td> <td><c:out value="${item.tytul}" /></td> <td><a href="edit?id=<c:out value="${item.id}"/>">edytuj</a></td> <td><a href="delete?id=<c:out value="${item.id}"/>">usuń</a></td> </tr> </c:foreach> </table> Powyższy kod nie wymaga wielu wyjaśnień. Ot korzystając ze znaczników HTML i JSTL następuje iteracja po otrzymanej z kontrolera liście i wyświetlenie wyników Podsumowanie W pliku JSP zauważ dodatkowo wygenerowane linki do edycji i usuwania pozycji. Żądania po ich kliknięciu trafiają do tego samego kontrolera i dalej do odpowiednich metod. Ich działania nie będę opisywał. Spróbuj samodzielnie do tego dojść bazując na opisanych wyżej informacjach. Rozdział jest dosyć trudny, gdyż w stosunku do rozdziału HelloWorld, doszła kolejna warstwa dostępu do danych; a sama warstwa kontrolera także się skomplikowała. Przy testowaniu aplikacji zwracaj uwagę na logi konsoli. Znajdziesz tam informacje tym co się w danej chwili dzieje co zostało wywołane, co robi Hibernate, itp. W razie problemów właśnie tam można znaleźć pomocne dane. 25

28 8. Autoryzacja StackOv-SpringSecurity.war Zabezpieczmy aplikację tak, by: dostęp do listy tematów miał każdy (zarówno zalogowany jak i niezalogowany użytkownik) każdy widział linki dodawania/edycji/usuwania tematów tylko zalogowany zwykły użytkownik lub administrator mógł dodawać i edytować tematy wyłącznie administrator mógł usuwać pozycje każdy zalogowany użytkownik miał swój dodatkowy panel administrator miał dodatkowo swój super tajny panel 8.1. SpringSecurity konfiguracja Na początek odpowiednie biblioteki ze strony Spring Security [17] wrzuć do katalogu lib (rys. 8.1.). Rys Biblioteki 26

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 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

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Aplikacje internetowe - laboratorium

Aplikacje internetowe - laboratorium Aplikacje internetowe - laboratorium Administracja serwerem aplikacji. Celem ćwiczenia jest zainstalowanie i administracja prostym serwerem aplikacji. Ćwiczenie zostanie wykonane przy użyciu popularnego

Bardziej szczegółowo

Załącznik 1 instrukcje instalacji

Załącznik 1 instrukcje instalacji Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Instalacja systemu zarządzania treścią (CMS): Joomla

Instalacja systemu zarządzania treścią (CMS): Joomla Instalacja systemu zarządzania treścią (CMS): Joomla Na stronie http://www.cba.pl/ zarejestruj nowe konto klikając na przycisk:, następnie wybierz nazwę domeny (Rys. 1a) oraz wypełnij obowiązkowe pola

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Pracownia internetowa w szkole ZASTOSOWANIA

Pracownia internetowa w szkole ZASTOSOWANIA NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego

Bardziej szczegółowo

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

Instrukcja instalacji

Instrukcja instalacji Instrukcja instalacji Niniejsza instrukcja obejmuje instalację krok po kroku narzędzi potrzebnych do uruchomienia aplikacji ERS pod systemem Windows. Ze względu na uniwersalność użytych rozwiązań możliwe

Bardziej szczegółowo

XML-owe bazy danych ćwiczenia 1

XML-owe bazy danych ćwiczenia 1 XML-owe bazy danych ćwiczenia 1 Pierwsza część ćwiczeń będzie zapoznaniem się z przykładową bazą danych dokumentów XML dbxml oraz bazą danych obiektowo-relacyjną Oracle, która pozwala na przechowywanie

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP W tym opracowaniu opisano, jak korzystać z edytora zasad grupy do zmiany ustawień zasad lokalnych dla

Bardziej szczegółowo

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Współpraca z platformą Emp@tia. dokumentacja techniczna

Współpraca z platformą Emp@tia. dokumentacja techniczna Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2013 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1

Bardziej szczegółowo

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.

Bardziej szczegółowo

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu Spis treści 1. Zgłoszenia serwisowe wstęp... 2 2. Obsługa konta w solidnym serwisie... 2 Rejestracja w serwisie...3 Logowanie się do serwisu...4 Zmiana danych...5 3. Zakładanie i podgląd zgłoszenia...

Bardziej szczegółowo

Wprowadzenie do Doctrine ORM

Wprowadzenie do Doctrine ORM Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,

Bardziej szczegółowo

Platformy Programowania

Platformy Programowania Platformy Programowania Ćwiczenie 1 4 x Hello World! Środowisko programistyczne, w którym będziemy pracować do wakacji: Microsoft Visual Studio 2010 Profesional 1. Utwórz aplikację konsolową. Po uruchomieniu

Bardziej szczegółowo

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami Dotyczy programów opartych na bazie BDE: Menedżer Pojazdów PL+ Ewidencja Wyposażenia PL+ Spis treści: 1. Wstęp...

Bardziej szczegółowo

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe JSF 2 wprowadzenie Konfiguracja Eclipse - dodanie szablonu XHTML dla potrzeb JSF 1. Otwórz menu Window/Preferences. Następnie z drzewka wybierz Web/HTML Files/Editor/Templates.

Bardziej szczegółowo

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła Dokumentacja Administratora portalu aplikacji Wirtualna szkoła aktualna na dzień 20.12.2012 Wykonawca: Young Digital Planet SA 2012 Strona 2 z 15 Spis Treści Wirtualna szkoła SYSTEM ZARZĄDZANIA NAUCZANIEM...

Bardziej szczegółowo

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Wstęp. Opis ten dotyczy wydziałów orzeczniczych. Wstęp. Opis ten dotyczy wydziałów orzeczniczych. W związku z przekształceniem 79 Sądów w Wydziały Zamiejscowe i związane z tym liczne zapytania odnośnie strony technicznej i sposobu przygotowania baz danych

Bardziej szczegółowo

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

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

Podręcznik użytkownika Obieg dokumentów

Podręcznik użytkownika Obieg dokumentów Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie

Bardziej szczegółowo

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

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Aplikacje www laboratorium

Aplikacje www laboratorium Aplikacje www laboratorium Konfigurowanie zabezpieczeń w oparciu o JAAS w serwerze GlassFish Zabezpieczanie aplikacji webowych z wykorzystaniem JASS jest w podstawowych zastosowaniach procesem dwuetapowym.

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Podstawy Pentaho Data Integration

Podstawy Pentaho Data Integration Podstawy Pentaho Data Integration 1. Instalacja Pentaho Data Integration Program Pentaho Data Integration można pobrać ze strony - http://www.pentaho.com/download, wybierając wersję na prawo czyli data

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen?

FAQ Systemu EKOS. 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen? 27.06.11 FAQ Systemu EKOS 1. Jakie są wymagania techniczne dla stanowiska wprowadzania ocen? Procedura rejestracji ocen wymaga podpisywania protokołów (w postaci wypełnionych formularzy InfoPath Forms

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG dla Państwowy Instytut Geologiczny Państwowy Instytut Badawczy 1. Uruchomienie aplikacji. a. Wprowadź nazwę użytkownika w miejsce Nazwa użytkownika b. Wprowadź hasło

Bardziej szczegółowo

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Spis treści Rozdział 1. Przegląd......... 1 Wstęp................. 1 Wdrażanie technologii Data Access........ 1 Źródła danych

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper

Bardziej szczegółowo

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: 1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Przewodnik Szybki start Program Microsoft Access 2013 wygląda inaczej niż wcześniejsze wersje, dlatego przygotowaliśmy ten przewodnik, aby skrócić czas nauki jego obsługi. Zmienianie rozmiaru ekranu lub

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Compas 2026 Vision Instrukcja obsługi do wersji 1.07 Compas 2026 Vision Instrukcja obsługi do wersji 1.07 1 2 Spis treści Integracja...5 1.Compas 2026 Lan...5 Logowanie...7 Użytkownicy...8 Raporty...10 Tworzenie wizualizacji Widoki...12 1.Zarządzanie widokami...12

Bardziej szczegółowo

STRONY DEALERSKIE W SYSTEMIE K2

STRONY DEALERSKIE W SYSTEMIE K2 STRONY DEALERSKIE W SYSTEMIE K2 (aktualizacja na sierpień 2014) INSTRUKCJA ZARZĄDZANIA TREŚCIĄ Poniżej prezentujemy instrukcję obsługi nowej wersji systemu zarządzania treścią K2 po migracji na nową platformę.

Bardziej szczegółowo

procertum CLIDE Client 2.1 wersja 1.0.2

procertum CLIDE Client 2.1 wersja 1.0.2 Instrukcja obsługi kwalifikowany znacznik czasu do użycia z procertum SmartSign 3.2 procertum CLIDE Client 2.1 wersja 1.0.2 Spis treści 1. INSTALACJA OPROGRAMOWANIA... 3 2. URUCHOMIENIE APLIKACJI... 8

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat.

Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Niezbędne serwery aplikacji. Wprowadzenie do technologii JBoss i Apache Tomcat. Serwer Tomcat Plan wykładu Opis serwera Jak uruchomić napisaną aplikację Podstawowa konfiguracja Pierwsze uruchomienie Tomcat

Bardziej szczegółowo

Instrukcjaaktualizacji

Instrukcjaaktualizacji Instrukcja Instrukcjaaktualizacji aktualizacji oprogramowania oprogramowaniainpro InProBMS BMS SPIS TREŚCI 1. AKTUALIZACJA 3 1.1. ARCHIWIZACJA BAZY DANYCH...3 1.1.1. AUTOMATYCZNA...3 1.1.2. RĘCZNA...4

Bardziej szczegółowo

Joomla! Instalacja. Pobierz pakiet instalacyjny. instalacji XAMPP

Joomla! Instalacja. Pobierz pakiet instalacyjny. instalacji XAMPP Joomla! Instalacja Pobierz pakiet instalacyjny 1. Wejdź na witrynę http://www.apachefriends.org 2. Następnie przejdź do sekcji XAMPP for Windows 3. W sekcji XAMPP for Windows przejdź do działu Download

Bardziej szczegółowo

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka Makra pozwalają na zautomatyzowanie często powtarzających się czynności. Opierają się na akcjach np.: otwarcie

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D1/04_01/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 (D1) Tworzenie kopii zapasowej ustawień systemowych serwera - Zadania do wykonania

Bardziej szczegółowo

Java EE: JSF + EJB + JPA

Java EE: JSF + EJB + JPA Java EE: JSF + EJB + JPA Celem ćwiczenia jest utworzenie prostej aplikacji bazodanowej umożliwiającej przeglądanie i dodawanie zleceń serwisowych. Ćwiczenie pokazuje współpracę technologii JSF (podstawowej

Bardziej szczegółowo

9.1.2. Ustawienia personalne

9.1.2. Ustawienia personalne 9.1.2. Ustawienia personalne 9.1. Konfigurowanie systemu Windows Systemy z rodziny Windows umożliwiają tzw. personalizację ustawień interfejsu graficznego poprzez dostosowanie wyglądu pulpitu, menu Start

Bardziej szczegółowo

Nowe funkcjonalności wersji 3.12.0

Nowe funkcjonalności wersji 3.12.0 1. Folder poczekalnia Nowe funkcjonalności wersji 3.12.0 Dostępny jest z poziomu strony głównej w zakładce Foldery 2. Wkładka adresowa Zdefiniowane wkładu 3. Lokalizacja składów chronologicznych Możliwość

Bardziej szczegółowo

Instalacja aplikacji

Instalacja aplikacji 1 Instalacja aplikacji SERTUM... 2 1.1 Pobranie programu z Internetu... 2 1.2 Instalacja programu... 2 1.3 Logowanie... 3 2 Instalacja aplikacji RaportNet... 4 2.1 Pobranie programu z Internetu... 4 2.2

Bardziej szczegółowo

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu.

Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu. Dokumentacja serwisu internetowego Zespołu Szkół Technicznych w Radomiu. Wykonanie: Radom Maj 2008 1 Serwis WWW szkoły w Internecie to obecnie najszybszy i najtańszy sposób dotarcia do największego kręgu

Bardziej szczegółowo

Db4o obiektowa baza danych wersja.net

Db4o obiektowa baza danych wersja.net Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala

Bardziej szczegółowo

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

dziennik Instrukcja obsługi

dziennik Instrukcja obsługi Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt

Bardziej szczegółowo

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze? Poradnik zetula.pl Jak założyć konto na zetula.pl i zabezpieczyć dane na swoim komputerze? 1.Wejdź na stronę www.zetula.pl 2.Kliknij na odnośniku Utwórz nowe konto 3.Wypełnij formularz rejestracyjny. Pola

Bardziej szczegółowo

Synchronizator plików (SSC) - dokumentacja

Synchronizator plików (SSC) - dokumentacja SZARP http://www.szarp.org Synchronizator plików (SSC) - dokumentacja Wersja pliku: $Id: ssc.sgml 4420 2007-09-18 11:19:02Z schylek$ > 1. Witamy w programie SSC Synchronizator plików (SZARP Sync Client,

Bardziej szczegółowo

Java Server Faces - wprowadzenie

Java Server Faces - wprowadzenie Java Server Faces - wprowadzenie Java Server Faces (JSF) jest najpopularniejszą technologią opartą o język JAVA, służącą do tworzenia aplikacji webowych (dynamicznych stron WWW). pomimo że JSF i EJB wchodzą

Bardziej szczegółowo

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda Logowanie do panelu administracyjnego Aby móc zarządzać stroną, należy zalogować się do panelu administracyjnego.

Bardziej szczegółowo

Instalacja platformy Magento CE wersja szybka

Instalacja platformy Magento CE wersja szybka Zastosowania informatyki w e-społeczeństwie i e-gospodarce laboratoria Uwaga! Poniższa procedura opisuje podstawową instalację Magento CE dla celów testowych, developerskich etc. Nie są w tym opisie uwzględnione

Bardziej szczegółowo

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 dokumentacja Edytor Bazy Zmiennych ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście znaki firmowe

Bardziej szczegółowo

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS PROBLEMY TECHNICZNE Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS Jeżeli stwierdziłeś występowanie błędów lub problemów podczas pracy z programem DYSONANS możesz skorzystać

Bardziej szczegółowo

Własna strona WWW w oparciu o CMS

Własna strona WWW w oparciu o CMS Własna strona WWW w oparciu o CMS 1. Uruchomienie własnej strony WWW w oparciu o CMS Do uruchomienia własnej strony WWW, służy Aplikacja do zarządzania kontem w Uczelnianej Sieci Komputerowej ZUT, dostępna

Bardziej szczegółowo

instrukcja INSTALACJI www.piersa.pl APi_proxy

instrukcja INSTALACJI www.piersa.pl APi_proxy instrukcja INSTALACJI 1 1. Instalacja Proces instalacji jest prosty wgrywamy pliki na serwer nadajemy prawa chmod 777 lub 755 dla katalogu w którym znajduje się aplikacja przeważnie będzie to katalog public_html

Bardziej szczegółowo

Przykłady i kursy Wersja 7 Wydanie 5. Przykładowy kurs rekrutacji dla produktu IBM Process Designer

Przykłady i kursy Wersja 7 Wydanie 5. Przykładowy kurs rekrutacji dla produktu IBM Process Designer Przykłady i kursy Wersja 7 Wydanie 5 Przykładowy kurs rekrutacji dla produktu IBM Process Designer ii Hiring Sample Podręczniki w formacie PDF oraz Centrum informacyjne Podręczniki w formacie PDF zostały

Bardziej szczegółowo

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu ibok Internetowe Biuro Obsługi Klienta Instrukcja obsługi SPIS TREŚCI 1. AUTORYZACJA UŻYTKOWNIKA W SYSTEMIE IBOK... 3 1.1 Logowanie... 3 1.2 Przywracanie

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012: Systemy baz danych 16.04.2013 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy

Bardziej szczegółowo

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji 2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji 1. Utwórz aplikację ze skoroszytu emp_prac.csv. W tym celu wykonaj poniższe czynności: a. Zaloguj się do systemu APEX jako użytkownik

Bardziej szczegółowo

Instrukcja obsługi programu Profile GT

Instrukcja obsługi programu Profile GT Instrukcja obsługi programu Profile GT 1. Instalacja i pierwsze uruchomienie Instalacja programu jest prosta. Należy uruchomić plik setup.exe i w zasadzie wszystkie pytania można pominąć przyjmując domyślne

Bardziej szczegółowo

BACKUP BAZ DANYCH FIREBIRD

BACKUP BAZ DANYCH FIREBIRD BACKUP BAZ DANYCH FIREBIRD SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje podstawowe... 2 Krok 2: Dane... 3 Backup bazy umieszczonej na serwerze... 3 Bezpośredni backup pliku

Bardziej szczegółowo

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 Spis Treści 1. Wymagania... 2 1.1. Wymagania przy korzystaniu z klucza sieciowego... 2 1.2. Wymagania przy uruchamianiu programu przez internet... 2 2.

Bardziej szczegółowo

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Standard Tag Library Celem ćwiczenia jest zapoznanie ze standardową biblioteką znaczników JSTL. W ramach ćwiczenia zostanie skonstruowany prosty sklep internetowy

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. Zaawansowane aplikacje internetowe - laboratorium Architektura Spring. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej architekturę Spring. Aplikacja składa się z jednego

Bardziej szczegółowo

,Aplikacja Okazje SMS

,Aplikacja Okazje SMS , jest rozwiązaniem, które umożliwia bez umiejętności programistycznych uruchomić własną aplikację na fanpage-u firmy lub marki. Pozwala ona na dodanie numeru telefonu do swojej bazy w SerwerSMS.pl, umożliwiając

Bardziej szczegółowo

Przewodnik... Budowanie listy Odbiorców

Przewodnik... Budowanie listy Odbiorców Przewodnik... Budowanie listy Odbiorców W tym przewodniku dowiesz się jak Skutecznie budować listę Odbiorców, korzystając z narzędzi dostępnych w Twoim koncie oraz zarządzać ustawieniami subskrypcji. Każda

Bardziej szczegółowo

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7 SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7 Administracja instrukcja Panel administracyjny jest dostępny z menu po lewej stronie ekranu. Użytkownicy bez uprawnień administracyjnych mają tylko możliwość

Bardziej szczegółowo