Spis treści. Wprowadzenie do JEE Kamil Perczyński
|
|
- Bogumił Jakubowski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Spis treści Wstęp do Javy Web...2 Podstawowe pojęcia...2 Przygotowanie środowiska...3 Tworzenie aplikacji webowej w NetBeans...4 Serwlet - klasa obsługująca żądania HTTP...8 Klasa HttpServlet najważniejsza klasa Javy Web...8 Plik web.xml mapowanie serwletów...12 Mapowanie serwletu za pomocą adnotacji...13 Zaczynamy development metody doget(), dopost(), parametry żądania...14 Pliki JSP, atrybuty żądania...17 Łatwa generacja kodu HTML...17 Mechanizm dispatcher a, atrybuty żądania - łączymy controller z widokiem...18 Cykl życia serwletu i ich uruchamianie wraz ze startem serwera...21 Cykl życia serwletu...21 Uruchamianie serwletu wraz ze startem serwera...23 Tagi JSTL...25 Tag c:if najprostsza instrukcja warunkowa...30 c:choose czyli bardziej złożone warunki...32 Biblioteka fmt formatujmy nasze dane...33 fmt:formatdate formatowanie dat...33 W Javie miesiące oznaczamy jako duże MM!...35 Tag fmt:formatnumer formatowanie liczb...35 Skryptlety - kod Javy w plikach JSP...37 Obsługa formularzy w Javie Web...39 Kontener serwletów Tomcat Instalacja Tomcat Pierwsze uruchomienie kontenera Tomcat...50 Uruchomienie Tomcat7 na systemie Linux Mint...52 Instalowanie aplikacji webowej na Tomcat Instalacja Tomcat Pierwsze uruchomienie kontenera Tomcat...57 Uruchomienie Tomcat7 na systemie Linux Mint...58 Korzystanie z Tomcat7 w NetBeans i zmiana portu nasłuchu Tomcat Uruchomienie Tomcat'a na porcie /64
2 Wstęp do Javy Web Podstawowe pojęcia Zajmiemy się teraz tworzeniem aplikacji webowych w Javie. Wszystko opiera się na istnieniu serwera, który otworzy port 80 (usługa HTTP), i przekaże żądanie do jakiejś klasy zdolnej do przyjęcia tego rodzaju obiektu i do wygenerowania odpowiedzi. Taką w klasą w Javie jesthttpservlet. Aplikacja webowa musi zostać zainstalowana na jakimś serwerze (lub kontenerze serwletów) i dopiero tam można ją uruchomić. O ile kompilacja aplikacji desktopowych tworzy paczkę z rozszerzeniem JAR, o tyle kompilacja aplikacji webowej tworzy paczkę z rozszerzeniem WAR. Java Web to część Javy Enterprise Edition. Założyłem, że czytelnik posiada podstawową wiedzę z zakresu HTML i CSS, a także podstawę protokołu HTTP (np. znajomość różnicy między żądaniami typu GET i POST) 2/64
3 Przygotowanie środowiska Jak wynika z powyższego podrozdziału na pewno będziemy potrzebować jakiegoś serwera. W rzeczywistości środowisko musi posiadać dużo więcej modułów. Skonfigurowanie środowiska NetBeans na szczęście sprowadza się tylko do ściągnięcia pliku instalacyjnego z oficjalnej strony IDE - Jeśli posiadasz już zainstalowane NetBeans IDE do Javy SE, nie musisz go odinstalowywać. NetBeans wykryje obecną instalację i doinstaluje odpowiednie moduły. Sam proces instalacji jest całkowicie standardowy. Ważne jest aby zainstalować razem z NetBeans IDE serwer GlassFish. Dzięki temu nie będziemy musieli tracić czasu na 3/64
4 instalowanie zewnętrznego serwera, jego skonfigurowanie i integrowanie ze środowiskiem. Tworzenie aplikacji webowej w NetBeans Po doinstalowaniu modułów do środowiska, wybieram tworzenie nowego projektu. W menu pojawią się nowe opcje: 4/64
5 Pierwszy ekran to wybór nazwy naszego projektu. Drugi to wybór serwera na który NetBeans będzie deploy ował naszą aplikację. Context path to ścieżka pod jaką aplikacja będzie widoczna w sieci. Te opcje pozostawimy domyślne: Ostatni ekran to wybór framework ów, które zostaną automatycznie dołączone i skonfigurowane w naszym projekcie. Na tym ekranie nie wybieramy żadnego framework a, będziemy pisać w czystej Javie. W końcu po kliknięciu finish w panelu projektów pojawi się nowy wpis: 5/64
6 Tak wygląda podstawowa struktura projektu. W katalogu Web Pages znajdują się wszystkie pliki potrzebne do poprawnego działania dokumentów HTML odpowiedzialnych za widoki. Znajduje się w nim katalog WEB-INF w którym umieszczamy pliki konfiguracyjne aplikacji, użytkownik nigdy nie ma dostępu do katalogu WEB-INF. Zawsze znajdziemy tam plik web.xml czyli tzw. plik deskryptora jest to w zasadzie najważniejszy plik w całej aplikacji. Omówimy go bardzo dokładnie. Katalog Source Packages to dobrze znana nam część aplikacji w której znajdują się pliki z kodem źródłowym. Jeśli chodzi o sekcję Libraries zwróć uwagę, że w pustym projekcie poza bibliotekami z JDK znajdują się też biblioteki z serwera aplikacyjnego, dzięki którym uruchomimy specjalne klasy charakterystyczne dla aplikacji webowych. Aplikację uruchamiamy dokładnie tak samo jak w przypadku aplikacji desktopowych przyciskiem Run Project z toolbar a w NetBeans. Proces jest jednak bardziej złożony od programów Java SE, trakcie uruchamiania aplikacji webowych projekt jest kompilowany, budowana jest paczka (plik WAR), uruchamiany jest serwer i w końcu paczka zostaje zainstalowana na serwerze. 6/64
7 W przeglądarce zostanie uruchomiona nowa karta z naszą aplikacją oczywiście wyświetli się zawartość pliku index.html. Właśnie stworzyliśmy najprostszą, działającą aplikację działającą w interfejsie webowym. Gratulacje! 7/64
8 Serwlet - klasa obsługująca żądania HTTP Klasa HttpServlet najważniejsza klasa Javy Web Wrócimy na moment do modelu warstwowego aplikacji pamiętasz warstwę Controller i View? W przypadku aplikacji webowych rozdzielamy te warstwy. Controller ami będą klasy dziedziczące po HttpServlet, a widokami pliki JSP a których będziemy jeszcze mówić. Stworzę zatem teraz odpowiedni pakiet w którym będę przechowywał serwlety, a w nim nowy serwlet: 8/64
9 Serwlet jest zwykłą klasą Javy, ale wymaga dodatkowej konfiguracji, dlatego po podaniu nazwy klasy klikamy na Next i wychodzimy na poniższe okienko: To jest właśnie część konfiguracyjna serwletu. Servlet Name to nazwa pod jaką serwlet będzie widoczny w obrębie aplikacji nie musi to być nazwa klasy (w każdym razie musi być to nazwa unikalna). URL Pattern(s) to adres lub adresy URL po wejściu w które uruchomiony zostanie serwlet. Checkbox oznacza dodanie wpisu o serwlecie do 9/64
10 pliku web.xml, nie jest to absolutnie konieczne ale na razie nie będziemy wnikać w szczegóły XML a, zajmiemy się nim później. Po kliknięciu Finish zostanie stworzony nowy serwlet, a do pliku konfiguracyjnego środowisko doda odpowiedni wpis. Klasa MainController: Omówimy teraz samo pojęcie serwletu i jak jest zbudowany. Serwletem jest sama klasahttpservlet i wszystkie klasy, które po niej dziedziczą. Jest to jedyna klasa zdolna do obsługiwania żądań HTTP i generowania odpowiedzi. W HttpServlet zdefiniowano 10/64
11 metodydoget() i dopost(), które są uruchamiane dla odpowiednich żądań. Metoda processrequest()to kawałek kodu, który dokleja sam NetBeans i jest ona całkowicie niepotrzebna. Jeśli nic nie zmienimy w kodzie serwletu zostanie ona uruchomiona niezależnie od typu żądania. Sprawdźmy czy serwlet wywołuje się poprawnie: Wywołanie adresu, który podaliśmy jako URL Pattern powoduje uruchomienie metodyprocessrequest(). 11/64
12 Plik web.xml mapowanie serwletów Żeby serwer wiedział, który serwlet ma uruchomić w reakcji na dany adres URL potrzebny jest plik konfiguracyjny. Otworzymy teraz plik web.xml i przeanalizujemy jego strukturę: W szczególności interesować nas będą tagi od linijki 7 do linijki 15. Najpierw trzeba w obrębie aplikacji zdefiniować serwlet i powiązać go z odpowiednią klasą. Jest to odpowiedzialność tagów: 12/64
13 Następnie musimy powiązać konkretny serwlet z adresem (lub adresami) URL. W tym celu określamy tę konfigurację poniższymi tagami (URL Pattern zawsze rozpoczynamy od slash a): Mapowanie serwletu za pomocą adnotacji Jeśli budujemy dość dużą aplikację plik web.xml bardzo szybko puchnie do tysięcy linii kodu XML. Konfiguracja XML to podstawowy sposób mapowania serwletów istnieje jednak nowszy za pomocą Podstawowa składnia takiej adnotacji wygląda tak jak na poniższym screen ie. 13/64
14 WAŻNE! została wprowadzona wraz z Servlet 3.0 API. Chcąc jej używać, musimy upewnić się najpierw czy serwer, na którym zainstalujemy aplikację obsługuje API 3.0. Zaczynamy development metody doget(), dopost(), parametry żądania Wrócimy do serwletu, który tworzyliśmy przed chwilą Przyjrzymy się też najważniejszym metodom każdego serwletu czyli doget() i dopost(). Po usunięciu metody processrequest(), odwołań do niej oraz komentarzy dokumentujących wygodzę na coś takiego: 14/64
15 Jak widzisz obie metody przyjmują dwa argumenty reprezentujące obiekt żądania i obiekt odpowiedzi HttpServletRequest i HttpServleResponse. Zajmiemy się najpierw najprostszymi operacjami, czyli wypisywaniem czegoś na ekran. W aplikacjach webowychsystem.out.println() działa troszkę inaczej: Aplikacje webowe mają niejako dwa ekrany: pierwszym są logi serwera, a drugim przeglądarka. Sprawdźmy co się stanie: 15/64
16 OK. Wszystko bardzo ładnie, ale chcielibyśmy, żeby nasz serwlet był bardziej interaktywny. Wykorzystamy teraz obiekt HttpServletRequest i na początek wyświetlimy na ekran wartość parametru testparam, który przyjdzie do serwletu metodą GET. Parametry wyjmujemy z żądania wywołując na nim metodę getparameter(), która zawsze zwraca wartość typu String, która reprezentuje pierwszą wartość parametru: Wynik wywołania dla poniższego adresu: 16/64
17 Pliki JSP, atrybuty żądania Łatwa generacja kodu HTML Generacja kodu HTML z poziomu serwletu nie jest zbyt wygodna. Stosujemy do tego pliki JSP (Java Server Pages). Pliki JSP znajdują się w katalogu Web Pages i tam je tworzymy. Są czymś pośrednim między zwykłymi plikami HTML, a serwletami. 17/64
18 Jak zdążyłeś/aś już zauważyć w kreatorze podajemy wyłącznie nazwę pliku JSP nie jest klasą Javy. Piszemy w nich zwykły HTML wzbogacony o tagi JSTL i język EL. Proces standardowo przebiega tak, że klasa controller a odbiera dane z warstwy DAO i przekazuje je do widoku (plikujsp), gdzie łatwo wygenerujemy kod HTML. Aby połączyć widok z controller em potrzebna będzie wiedza z kolejnego rozdziału. Mechanizm dispatcher a, atrybuty żądania - łączymy controller z widokiem Powoli zbliżamy się do napisania aplikacji webowej, która będzie służyć do operacji CRUD na jednej z encji bazodanowych. W Javie EE udostępniono serwletom mechanizm dispatcher a, który pozwala przekazać sterowanie z jednego serwletu do drugiego. Ponadto możemy do żądania dodawać atrybuty czyli jakieś obiekty, które będą dostępne dla kolejnego serwletu. Najczęściej dispatcher a używamy, aby przekazać dane do pliku JSP. Zdecydowanie lepiej wyjaśni to przykład: 18/64
19 W momencie wywołania serwletu do żądania zostanie dodany atrybut pod nazwą czas, a następnie serwlet przekaże sterowanie do pliku JSP (co wiąże się również z przekazaniem odpowiedzialności za wygenerowanie odpowiedzi). Przekazywać sterowanie za pomocą dispatcher a możemy tylko do serwletów (podając URL z którym są związane), albo do JSP (podając lokalizację pliku). Aby z poziomu JSP odwołać się do naszego atrybutu użyjemy języka EL (Expression Language). 19/64
20 Jak widać na warstwie widoku do przekazanych przez serwlet atrybutów odwołujemy się dokładnie po nazwie, pod którą zapisaliśmy obiekt w żądaniu. Samo wyświetlenie obiektu w pliku JSP nie różni się niczym od wywołania metody tostring() na danym obiekcie. Dużo ciekawsze jest odwołanie ${czas.time}. Wydawałoby się, że odwołujemy się do pola obiektu, ale w rzeczywistości wywoływana jest metoda gettime(). Pliki JSP potrafią dużo więcej, mianowicie uruchamiać pętle, wykonywać instrukcje warunkowe, a nawet formatować daty i liczby. Bardziej zaawansowane możliwości JSP zaprezentuję w artykule poświęconym tagom JSTL. WAŻNE! Jeśli kontroler uzyska dostęp do strumienia piszącego na ekran przeglądarki (response.getwriter()) nie będzie można użyć już dispatcher a. Dzieje się tak dlatego, że uzyskanie referencji do wspomnianego strumienia oznacza wzięcie przez metodę serwletu odpowiedzialności za wygenerowanie odpowiedzi HTTP. 20/64
21 Cykl życia serwletu i ich uruchamianie wraz ze startem serwera Cykl życia serwletu Umiemy już używać serwletów, ale dalej nie wiemy co dzieje się za sceną kiedy serwlet jest tworzony, a kiedy jego obiekt jest niszczony. Życie serwletu można podzielić na kilka faz: 21/64
22 Przyjrzymy się wywołaniom tych metod. Najpierw przygotuję odpowiednio klasę serwletu: 22/64
23 Po kilkukrotnym wyświetleniu strony (dokładnie tej samej tabelki z poprzedniego artykułu) w logach serwera widać dokładnie co się dzieje: Uruchamianie serwletu wraz ze startem serwera W aplikacjach webowych bardzo często funkcjonują scheduler y. Kod odpowiedzialny za uruchomienie cykliczne uruchamianie zadań nie powinien być uzależniony od konkretnego żądania, a jedynie od startu serwera. Pokażę teraz jak poinformować kontener serwletów aby uruchomił konkretne serwlety w momencie ładowania aplikacji, co więcej uruchomił je w zadanej kolejności. Najpierw stworzę trzy 23/64
24 serwlety Load1, Load2, Load3 i przesłonię w nich metodę init() w następujący sposób. Serwlety po prostu wyświetlają swoje numery w trakcie inicjacji (a będąc ścisłym - w momencie złączenia klasy serwletu z adresem URL). Poza tym, nie wprowadzałem w nich żadnych innych modyfikacji. Aby poinformować kontener serwletów o tym, że powyższe trzy mają zostać stworzone przy starcie serwera konieczna będzie edycja pliku web.xml. W tagu <servlet> umieszczam tag <load-on-startup>, który określa kolejność uruchamiania serwletu przy starcie serwera. Aby wszystko zadziałało prawidłowo wartość tagu <load-on-startup> musi być większa lub równa 0. W przeciwnym wypadku informacja zostanie przez kontener zignorowana. Konfiguracja pozostałych serwletów: 24/64
25 Oraz logi serwera w trakcie restartowania aplikacji: Tagi JSTL Tagi JSTL (JSP Standard Tags Library) pozwalają do plików JSP wprowadzić struktury charakterystyczne dla programów np. pętle. Zajmiemy się teraz wyświetleniem wszystkich pracowników w postaci tabelki. Odwołamy się do klasy EmployeesDao, która zwraca nam pracowników przechowywanych w bazie danych w postaci listy obiektów. Najwygodniej jest stworzyć w naszym serwlecie pole typu EmployeesDao: 25/64
26 Nie dzieje się tu nic specjalnego. Metoda getall() zwraca listę pracowników i przekazuje ją do widoku. W pliku JSP będziemy iterować po tej liście generując odpowiedni kod HTML. Przygotowuję najpierw schemat prostej tabelki: 26/64
27 Do uruchamiania struktur typowo programowych (np. pętli) służą tagi JSTL, są to specjalne biblioteki tagów, które dają możliwość tworzenia instrukcji warunkowych, formatowania liczb i dat. Mamy trzy podstawowe biblioteki tagów: core pozwala na tworzenie instrukcji warunkowych, pętli> functions uruchamianie funkcji np. trim(), sprawdzanie długości listy fmt formatowanie danych, obsługa ustawień internacjonalnych Użyjemy teraz biblioteki core. Aby mieć dostęp do tego co oferuje musimy ją najpierw zaimportować specjalną instrukcjątaglib: Napisanie pętli za pomocą tagów JSTL jest nawet prostsze niż w czystej Javie. 27/64
28 JSTL bardzo przypomina XML. Do tagów z biblioteki core odwołujemy się po prefiksie określonym w trakcie importu. Zbiór po którym będziemy iterować podajemy jako wyrażenie języka EL, a następnie określamy nazwę pojedynczego elementu w obrębie obrotu pętli. Jest to inny zapis dobrze znanej nam pętli for-each z Javy: Pozostał jeszcze atrybut varstatus. Określenie jego wartości pozwala na używanie numeru obrotu pętli ja użyłem tej wartości do wyświetlania numeru wiersza. Do pliku JSP dodałem jeszcze trochę CSS. Efektem wywołania powyższego serwletu jest poniższa strona: 28/64
29 29/64
30 Tag c:if najprostsza instrukcja warunkowa Do powyższej tabelki dodamy jeszcze jedną kolumnę tak by wykorzystać dwa kolejne tagi z biblioteki core tag c:if i c:choose. Wyświetlimy teraz informację o tym czy pracownik zarabia powyżej średniej. Muszę zatem dorzucić kolejny atrybut do żądania http wartość typu Double, która będzie reprezentować średnią zarobków. Obsłużymy teraz prosty warunek na warstwie widoku stosując tag c:if. Dodam do generowanej tabeli jeszcze jedną kolumnę: Oprogramowuję jej zawartość oczywiście wewnątrz pętli c:foreach. 30/64
31 Warunek do sprawdzenia to atrybut test tagu c:if. Warunek do sprawdzenia podaję jako wyrażenieel. Jeśli warunek jest spełniony zostanie wyświetlona zawartość tagu c:if. Jest to tylko pojedyncza instrukcja warunkowa za pomocą c:if nie ma możliwości wykonać znanego nam z Javy bloku if-else. Służy do tego tag c:choose, który omówimy w kolejnym rozdziale. 31/64
32 c:choose czyli bardziej złożone warunki Tak jak powiedziałem za pomocą tagu c:if nie napiszemy prostego bloku if-else. Służy do tego tag c:choose o bardziej złożonej strukturze: Za pomocą tagu c:choose tworzymy strukturę if-else if-else. Warunki sprawdzane są liniowo, przy czym pojedynczy warunek oznaczamy tagiem c:when sekcję else oznaczamy tagiem c:otherwise. W wyniku powyższych modyfikacji wywołanie serwletu da nam poniższy wynik: 32/64
33 Biblioteka fmt formatujmy nasze dane W bibliotece fmt zawarto tagi, które potrafią formatować liczby i daty. Znajdziemy tam również tagi odpowiedzialne za internacjonalizację plików JSP obsługę tzw. ResourceBundle i obiektów klasy Locale. Z oczywistych powodów najbardziej będą interesować nas tagi: fmt:formatdate fmt:formatnumber fmt:formatdate formatowanie dat Nazwa mówi sama za siebie. W zasadzie w tym małym rozdziale pokażę w zasadzie dwa tagi z biblioteki fmt. Zaczniemy od dodania formatowania daty zatrudnienia do powyższej tabeli. Robimy to za pomocą tagu fmt:formatdate w następujący sposób: Do atrybutu value przekazujemy obiekt typu Date jako wyrażenie EL. Spójrzmy na wynik: 33/64
34 Nic się nie zmieniło? Dzieje się tak dlatego, że Java wykryła parametry lokalizacyjne właściwe dla Polski i zastosowała je dla formatowania daty. Po dodaniu poniższego tagu w dowolnym miejscu przed formatowaniem, zostaną zastosowane ustawienia właściwe dla Francji. Zmiany widać od razu: Często jednak będziemy chcieli uniezależnić się od opcji lokalnych i zawsze wyświetlić datę w ten sam sposób. Musimy wtedy określić atrybut pattern tagu fmt:formatdate w następujący sposób: 34/64
35 W Javie miesiące oznaczamy jako duże MM! Tag fmt:formatnumer formatowanie liczb Liczby formatujemy za pomocą tagu fmt:formatnumber podobnie jak daty. Formatowanie liczb ma jednak więcej opcji dodatkowych: Atrybut minfractiondigits określa minimalną ilość miejsc dziesiętnych (analogiczniemaxfractiondigits). Do formatowania musimy także przekazać wartość jaką chcemy formatować ma ona znaleźć się w 35/64
36 atrybucie value. Dodatkowo możemy też podać czym jest dana liczba w atybucie type. Może przyjąć trzy wartości: number currency percentage Atrybut currencysymbol jest raczej oczywisty. Po wywołaniu efekt formatowania jest od razu widoczny: Regulowanie opcji lokalizacyjnych oczywiście dalej działa. Po przestawieniu Locale na enzobaczymy już tak sformatowane liczby: 36/64
37 Skryptlety - kod Javy w plikach JSP Nie powiedzieliśmy sobie o jeszcze jednej funkcjonalności plików JSP. Otóż możemy w nich używać całkowicie normalnej Javy. Wystarczy że gdzieś w pliku JSP użyjemy znaczników <% %> i w nich można już korzystać ze wszystkiego co daje nam Java. Np. dodam teraz wyświetlanie obecnej daty do formularza logowania, który stworzyłem na potrzeby poprzedniego przykładu: Klasa SimpleDateFormat to prosty formatter i parser dat pozwala na łatwe konwersje Date >> String i String >> Date. Taki blok kodu nazywamy skryptletem. Wywołanie JSP przedstawia poniższy screen: 37/64
38 W kodzie skryptletów mamy zdefiniowane ( a priori ) zmienne (to tylko niektóre z nich): request response out Stosowanie skryptletów jest uważane za nieeleganckie, ponieważ od sterowania widokiem są tagi JSTL. Niemniej jednak, jeśli istnieje potrzeba do zawarcia bardziej skomplikowanej logiki w warstwie widoku jest taka możliwość. 38/64
39 Obsługa formularzy w Javie Web Zajmiemy się teraz bardziej poważnym odbiorem danych od użytkownika. Wykonamy mianowicie aplikację pozwalającą na 39/64
40 operacie CRUD na encji bazodanowej Country. Kraj posiada tylko swój idenyfikator, nazwę i id regionu, które jest oczywiście kluczem obcym. Po przygotowaniu sobie klasy DAO do encji Country przystępuję do pisania serwletów. Encja Country wygląda tak: Być może zastanawiasz się dlaczego polem klasy Country jest obiekt Region, a nie regionid. Przy takim układzie mój obiekt Country będzie bardziej elastyczny. Mogę w nim zapisać zarówno samo id regionu, jak również całą strukturę Regionu nazwę etc. Pierwszy serwlet będzie odpowiadał oczywiście za wyświetlenie danych w postaci tabeli: 40/64
41 Tym razem zdecydowałem się na konfigurację serwletu za pomocą W samym serwlecie nie dzieje się nic, czego byśmy wcześniej nie omawiali. Warstwa widoku jest podobnie prosta: Dodałem od razu kolumnę Actions w której znajdują się dwa linki prowadzące do serwletu, który skasuje dany kraj i formularza z Edycją danego kraju. Muszę oczywiście podać informację o tym, na rzecz którego kraju ma zostać wywołana akcja. Dlatego przekazuję parametr id metodą GET (po linku). Dołączyłem do powyższego przykładu bibliotekę CSS - Bootstrap, dlatego uzyskuję ładnie sformatowaną tabelkę: 41/64
42 Zajmiemy się teraz formularzem edycji. Najpierw tworzę serwlet, którego URL Pattern odpowiada temu z linka: Zawartość parametru id oczywiście bierze się z adresu URL (np. editcountry.do?id=nl). Być może zastanawia Cię, po co przekazuję na widok również wszystkie regiony z bazy danych. Relacja między encją Region, a Country w bazie danych to jeden-wiele, dlatego jeden 42/64
43 konkretny region, który przyporządkujemy do kraju wybierzemy z selektora. Przystępuję do pisania formularza: Wątpliwości mogą budzić dwie rzeczy. Po pierwsze nie określam atrybutu action tagu form, ponieważ będę przekazywał dane do tego samego URL. Po drugie c:if w c:foreach. Spowoduje on automatyczne wybranie z listy regionu, do którego przypisany został kraj. OK. Zobaczmy jak to wygląda: 43/64
44 Pozostaje nam już tylko oprogramować metodę dopost() naszego serwletu. Na początek obejrzyjmy jakie informacje znajdują się w obiekcie HttpServletRequest. Tak jak z request a wyjmowaliśmy pojedynczy parametr tak samo możemy wyjąć wszystkie w postaci mapy <String, String[]> po której zwyczajnie przeiterujemy. Po zatwierdzeniu formularza uzyskuję w przeglądarce poniższy output: Zauważ, że z poziomu metody dopost() mamy dostęp zarówno do parametrów przesłanych metodą GET jak i do tych przesłanych POST em. Wystarczy, że z powyższych danych złożę obiekt i podam go warstwie DAO do zapisania w bazie: 44/64
45 OK. Tak to wygląda. Być może uważasz, że komplikuję sprawę ponad miarę try-catchem. Nie zapominaj jednak, że użytkownik może edytować źródło strony a także o tym, że parametr ID jest przekazywany przez pasek. Temu właśnie służy try-catch najpierw sprawdzam czy do edycji podano prawidłowe dane (czy to, co miało być liczbą rzeczywiście nią jest), a także, czy referencje podane przez formularz (id regionu, id kraju) mają jakieś odzwierciedlenie w bazie danych. Dopiero po spełnieniu tych dwóch warunków przystępuję do złożenia obiektu Country, zapisania go w bazie danych i 45/64
46 poinformowania formularza, że edycja przebiegła pomyślnie. Dodatkowo w widoku dodaję nad polami formularza poniższy wpis: Jest to wyświetlenie informacji o poprawnej edycji (w języku EL sprawdzenie czy jakiś atrybut został przekazany realizujemy instrukcją not empty). Po poprawnej edycji jakiegoś kraju dostanę oczywiście powiadomienie: Wszystko działa dokładnie tak jak chcieliśmy. Oczywiście przydałaby się jeszcze jakaś walidacja danych, ale nie robiłem tego aby nie zaburzać czytelności przykładu. Podpowiem tylko, że walidację danych najlepiej wydzielić do oddzielnej metody przyjmującej jakiś obiekt i ew. wpisującej błędy do mapy, do której później odwołamy się za pomocą EL. 46/64
47 Kontener serwletów Tomcat 7 Instalacja Tomcat 7 Zajmiemy się teraz jednym z najczęściej używanych kontenerów webowych czyli Tomcat a. Jest to oprogramowanie serwerowe, na które będziemy deploy ować nasze aplikacje. Zaczniemy oczywiście od instalacji i skonfigurowania Tomcat a. Aby pobrać pliki Tomcat 7 musimy wejść na stronę projektu /64
48 Interesować nas będą oczywiście opcje pobrania Tomcat 7: Wybierzemy pierwszą opcja czyli pobranie paczki niezależnej platformowo, gdzie wszystko już się znajduje. Nie polecam instalowania Tomcat a jako usługi systemowej Windows. Jego używanie jest wtedy dość niewygodne. Po pobraniu zip a wypakowuję jego zawartość do folderu C:/tomcat7/. Cała struktura serwera to kilka folderów: 48/64
49 folder /bin/ - w nim znajdują się pliki wykonywalne odpowiedzialne za m.in. startowanie i zamykanie serwera. folder /conf/ zawiera pliki konfiguracyjne serwera w większości XML folder /lib/ - biblioteki niezbędne do poprawnego działania serwera i aplikacji folder /logs/ - logi serwera folder /webapps/ - tu będziemy najczęściej zaglądać. Znajdują tam się zainstalowane aplikacje webowe folder /work/ - serwer umieszcza tu skompilowane wersje plików JSP, pliki cache'a (np. schematy XML) 49/64
50 Pierwsze uruchomienie kontenera Tomcat Aby uruchomić serwer Tomcat wystarczy uruchomić plik startup.bat, który znajduje się w katalogu /bin/. Zapewne zauważyłeś/aś, że Tomcat wystartował i zaraz jego działanie zostało przerwane. Dzieje się tak dlatego że Tomcat wymaga zdefiniowania zmiennej środowiskowejcatalina_home, która przechowuje ścieżkę do instalacji Tomcat a.: Teraz po uruchomieniu startup.bat wyskoczy okno z logami serwera. 50/64
51 Jeśli zobaczyłeś/aś powyższy ekran, po wpisaniu adresu powinien przywitać Cię charakterystyczny dla Tomcat a tygrysek: 51/64
52 Uruchomienie Tomcat7 na systemie Linux Mint Jeśli używasz systemu Linux to, masz dwie możliwości zainstalowania Tomcat a. Możesz zainstalować go jako usługę systemową komendą: sudo apt-get install tomcat7 Wtedy niestety, pliki Tomcat a zostaną rozbite na kilka lokacji (/usr/share/, /var/lib/ etc.). Możesz też, ściągnąć Tomcat a jako multiplatformowego zip-a (dokładnie tak samo jak na Windowsie). Resztę konfiguracji zawarłem już w screen ie z terminala na następnej stronie. Folder tomcat7 znajduje się w moim katalogu home. Niestety na Liunux ach nie mamy okienka z logami serwera, ale można je sobie ładnie zastąpić używając poniższej komendy (oczywiście ścieżka do pliku catalina.out zależy od Twojej instalacji): tail f /home/kamil/tomcat7/logs/catalina.out 52/64
53 Instalacja na Linux ie Mint różni się jedynie tym, że muszę odpowiednio przyznać uprawnienia do wykonywania plików. Służy do tego komenda chmod. Uprawnienia domyślne (chmod 644) widać oczywiście przy pierwszym wykonaniu ls l head -5. Pamiętaj o zmiennej CATALINA_HOME! Uruchamianie Tomcat'a na innych linuksach (np. CentOS) zależy już od konkretnej dystrybucji i zwykle nie jest tak proste. 53/64
54 Instalowanie aplikacji webowej na Tomcat 7 Instalacja Tomcat 7 Zajmiemy się teraz jednym z najczęściej używanych kontenerów webowych czyli Tomcat a. Jest to oprogramowanie serwerowe, na które będziemy deploy ować nasze aplikacje. Zaczniemy oczywiście od instalacji i skonfigurowania Tomcat a. Aby pobrać pliki Tomcat 7 musimy wejść na stronę projektu /64
55 Interesować nas będą oczywiście opcje pobrania Tomcat 7: Wybierzemy pierwszą opcja czyli pobranie paczki niezależnej platformowo, gdzie wszystko już się znajduje. Nie polecam instalowania Tomcat a jako usługi systemowej Windows. Jego używanie jest wtedy dość niewygodne. Po pobraniu zip a wypakowuję jego zawartość do folderu C:/tomcat7/. 55/64
56 Cała struktura serwera to kilka folderów: folder /bin/ - w nim znajdują się pliki wykonywalne odpowiedzialne za m.in. startowanie i zamykanie serwera. folder /conf/ zawiera pliki konfiguracyjne serwera w większości XML folder /lib/ - biblioteki niezbędne do poprawnego działania serwera i aplikacji folder /logs/ - logi serwera folder /webapps/ - tu będziemy najczęściej zaglądać. Znajdują tam się zainstalowane aplikacje webowe folder /work/ - serwer umieszcza tu skompilowane wersje plików JSP, pliki cache'a (np. schematy XML) 56/64
57 Pierwsze uruchomienie kontenera Tomcat Aby uruchomić serwer Tomcat wystarczy uruchomić plik startup.bat, który znajduje się w katalogu /bin/. Zapewne zauważyłeś/aś, że Tomcat wystartował i zaraz jego działanie zostało przerwane. Dzieje się tak dlatego że Tomcat wymaga zdefiniowania zmiennej środowiskowejcatalina_home, która przechowuje ścieżkę do instalacji Tomcat a.: Teraz po uruchomieniu startup.bat wyskoczy okno z logami serwera. 57/64
58 Jeśli zobaczyłeś/aś powyższy ekran, po wpisaniu adresu powinien przywitać Cię charakterystyczny dla Tomcat a tygrysek: Uruchomienie Tomcat7 na systemie Linux Mint Jeśli używasz systemu Linux to, masz dwie możliwości zainstalowania Tomcat a. Możesz zainstalować go jako usługę systemową komendą: sudo apt-get install tomcat7 Wtedy niestety, pliki Tomcat a zostaną rozbite na kilka lokacji (/usr/share/, /var/lib/ etc.). Możesz też, ściągnąć Tomcat a jako multiplatformowego zip-a (dokładnie tak samo jak na Windowsie). Resztę konfiguracji zawarłem już w screen ie z terminala na następnej stronie. Folder tomcat7 znajduje się w moim katalogu home. Niestety na Liunux ach nie mamy okienka z logami serwera, ale można je sobie 58/64
59 ładnie zastąpić używając poniższej komendy (oczywiście ścieżka do pliku catalina.out zależy od Twojej instalacji): tail f /home/kamil/tomcat7/logs/catalina.out Instalacja na Linux ie Mint różni się jedynie tym, że muszę odpowiednio przyznać uprawnienia do wykonywania plików. Służy do tego komenda chmod. Uprawnienia domyślne (chmod 644) widać oczywiście przy pierwszym wykonaniu ls l head -5. Pamiętaj o zmiennej CATALINA_HOME! Uruchamianie Tomcat'a na innych linuksach (np. CentOS) zależy już od konkretnej dystrybucji i zwykle nie jest tak proste. 59/64
60 Korzystanie z Tomcat7 w NetBeans i zmiana portu nasłuchu Tomcat7 Na potrzeby tego rozdziału stworzę nowy projekt. Nowy serwer dodamy po drodze. Procedurę dodawania projektu już znasz, ale zatrzymamy się przy przedostatnim oknie. W zakładce Server and Settings wybieramy opcję Add (obok selektora z domyślnie wybranym GlassFish em). Następnie z listy wybieramy pozycję Apache Tomcat or TomEE. Wychodzę na poniższe okno: W Server Location musimy podać lokalizację serwera Tomcat (dokładnie taką samą jak w zmiennej CATALINA_HOME). W Username i Password podajemy w zasadzie cokolwiek. Aby aplikacja mogła deployo wać paczki na serwerze (a dokładnie wykonywać hotdeploy czyli instalację appki w czasie działania serwera) potrzebuje specjalnego użytkownika w obrębie serwera. 60/64
61 Definicje użytkowników i ich ról znajdują się w pliku /conf/tomcatusers.xml w katalogu Tomcat a przyjrzymy mu się jeszcze później. Po dodaniu nowego projektu i uruchomieniu go uzyskamy poniższy Output: Jest to błąd w samym Tomcat cie (a dokładnie w pliku catalina.bat) na szczęście łatwy do poprawienia. Wystarczy zmienić w nim linijki 179 i 184: Do poniższej postaci (chodzi o usunięcie cudzysłowów w obu linijkach): 61/64
62 OK. Spróbujmy jeszcze raz uruchomić Tomcat a z poziomu NetBeans: Wszystko działa tak jak powinno. na Linuksach powyższy problem nie występuje. 62/64
63 Uruchomienie Tomcat'a na porcie 80 Chciałbym jeszcze pokazać kilka rzeczy, które sprawią, że rozwijanie aplikacji będzie wygodniejsze. Wykonamy dwie rzeczy. Przepniemy port Tomcata z 8080 do domyślnego portu HTTP czyli 80. Muszę zmienić wpis o porcie wykorzystywanym przez serwer w pliku conf/server.xml. Wystarczy zmienić atrybut port na 80 (i oczywiście zrestartować serwer), a Tomcat będzie dostępny już bez podawania portu: 63/64
64 Oczywiście jest to najprostsza procedura. Na różnych systemach operacyjnych może ona wyglądać inaczej. Np. na Linuksach często trzeba dodatkowo odblokować port firewall'a, a czasem nawet za pomocą iptables przekierowywać ruch sieciowy na portach. Z kolei nie można tego wykonać na Windows 10 ponieważ port 80 jest zarezerwowany przez system. 64/64
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
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,
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
Enterprise JavaBeans (EJB)
Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z sesyjnymi komponentami Enterprise JavaBeans. Zilustrowane będą różnice między komponentami stanowymi i bezstanowymi. Pokazane będzie
Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.
WDIS 2019L: Zajęcia 1. Serwer Apache Tomcat. Środowisko NetBeans. Strona 1 z 9 Wybrane Działy Informatyki Stosowanej LABORATORIUM 1. KONFIGUROWANIE SERWERA APACHE TOMCAT. PODSTAWY UMIESZCZANIA PLIKÓW HTML,
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ą
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie
Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Przykłady na podstawie zadań lab. z przedmiotu Technologie internetowe
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
Platforma e-learningowa
Dotyczy projektu nr WND-RPPD.04.01.00-20-002/11 pn. Wdrażanie elektronicznych usług dla ludności województwa podlaskiego część II, administracja samorządowa realizowanego w ramach Decyzji nr UDA- RPPD.04.01.00-20-002/11-00
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
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
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
Modele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Backend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
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
Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo 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 Application
Aplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
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,
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
Architektury Usług Internetowych. Laboratorium 1 Servlety
Architektury Usług Internetowych Laboratorium 1 Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanieodpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy
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
Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny
DESlock+ szybki start
DESlock+ szybki start Wersja centralnie zarządzana Wersja bez centralnej administracji standalone WAŻNE! Pamiętaj, że jeśli chcesz korzystać z centralnego zarządzania koniecznie zacznij od instalacji serwera
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,
Uruchamianie bazy PostgreSQL
Uruchamianie bazy PostgreSQL PostgreSQL i PostGIS Ten przewodnik może zostać pobrany jako PostgreSQL_pl.odt lub PostgreSQL_pl.pdf Przejrzano 10.09.2016 W tym rozdziale zobaczymy, jak uruchomić PostgreSQL
Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008
Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF
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ę
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
Testowanie podstawowej konfiguracji serwera w środowisku NetBeans
WDIS: Apache Tomcat 7.0.34 NetBeans 7.3.1. Zajęcia 1 strona - 1 TESTOWANIE SERWERA TOMCAT FUNDACJI APACHE Testowanie podstawowej konfiguracji serwera w środowisku NetBeans 1. Uruchom środowisko NetBeans
oprogramowania F-Secure
1 Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure Wznowienie oprogramowania F-Secure zaczyna działać automatycznie. Firma F-Secure nie udostępnia paczki instalacyjnej EXE lub MSI do
Wykład dla studentów Informatyki Stosowanej UJ 2012/2013
e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,
1. MOZILLA THUNDERBIRD (31.3.0) 2 2. WINDOWS LIVE MAIL 2011 13 3. THE BAT HOME EDITION (6.7.7.0 32 BIT) 30
Zakładamy, że użytkownik posiada paczkę pfx z certyfikatem I kluczem prywatnym. Poniższe informacje dotyczą wyłącznie instalacji certyfikatu własnego (z pliku pfx) oraz osoby trzeciej. 1. MOZILLA THUNDERBIRD
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,
Architektury Usług Internetowych. Laboratorium 1. Servlety
Architektury Usług Internetowych Laboratorium 1. Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanie-odpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy
Dodawanie operacji dodatkowych w WAPRO Mag.
Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa
Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.
Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania. Q. Jak uruchomić instalator? A. Trzeba nadać instalatorowi atrybut 'wykonywalny'. Można to zrobić wydając polecenie `chmod
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Dokumentacja fillup - MS SQL
Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................
Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Aplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
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
Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.
Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony
Instrukcja instalacji programu SYSTEmSM
Instrukcja instalacji programu SYSTEmSM SYSTEmEG Sp. z o.o. Siedziba: ul. Wojrow icka 10a/14 PL 54-434 Wrocław + 48 (71) 354 47 76 Biuro: ul. Chociebuska 11 PL 54-433 Wrocław fax. + 48 (71) 358 04 99 Bank:
Wdrożenie do projektu
Wdrożenie do projektu Zaczynamy od stworzenia zwykłego projektu Java. Środowisko z jakiego korzystam to Netbeans IDE w wersji 8.1. Możesz wykorzystywać inne IDE, bylebyś stosował analogiczne kroki w swoim
Serwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Platforma e-learningowa
Dotyczy projektu nr WND-RPPD.04.01.00-20-002/11 pn. Wdrażanie elektronicznych usług dla ludności województwa podlaskiego część II, administracja samorządowa realizowanego w ramach Decyzji nr UDA- RPPD.04.01.00-20-002/11-00
1. Moduł Print Master
1. Moduł Print Master 1.1. Wprowadzenie Print Master (PM) to moduł, którego główną funkcją jest autoryzacja wydruków wykonywanych przez użytkownika w systemie Windows. Autoryzacja obejmuje wydruki wykonywane
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).
Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet JSP ciąg dalszy Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić JSP tags, Używanie tagów, Custom tags, JSP objests, Obiekty
SPOSOBY DYSTRYBUCJI OPROGRAMOWANIA PANDA
SPOSOBY DYSTRYBUCJI OPROGRAMOWANIA PANDA Panda Security oferuje trzy sposoby dystrybucji oprogramowania na stacje końcowe: - Lokalne pobranie pliku instalacyjnego z portalu zarządzającego - Generacja instalacyjnego
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
Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
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
Spring Web MVC, Spring DI
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 5 Spring Web MVC, Spring DI Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie / narzędzia będące
Konfiguracja współpracy urządzeń mobilnych (bonowników).
Konfiguracja współpracy urządzeń mobilnych (bonowników). Współpracę Bistro z bonownikami można realizować na dwa sposoby: poprzez udostępnienie folderu w Windows albo za pomocą serwera ftp. 1. Współpraca
Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.
Elementy JEE 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages. 1 Java Enterprice Edition Java Enterprice Edition (JEE) jest rozszerzeniem Java Standard
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
Programowanie w Javie 2. Płock, 26 luty 2014 r.
Programowanie w Javie 2 Płock, 26 luty 2014 r. Zaliczenie wykładu i ćwiczeń Zaliczenie ćwiczeń (projekt na zaliczenie, 3 prace domowe) Zaliczenie wykładu (referat na 1h) Ocena ćwiczeń: 70% projekt + 30%
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
WPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:
Zasady grupy (GPO) Windows Server 2008 R2 Zasady grupy to potężne narzędzie udostępnione administratorom systemów Windows w celu łatwiejszego zarządzania ustawieniami stacji roboczych. Wyobraźmy sobie
Java pierwszy program w Eclipse «Grzegorz Góralski strona własna
Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February
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
Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure
1 Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure Niestety firma F-Secure nie udostępnia paczki instalacyjnej EXE lub MSI do instalacji oprogramowania F-Secure Client Security. Paczkę
Kancelaria Prawna.WEB - POMOC
Kancelaria Prawna.WEB - POMOC I Kancelaria Prawna.WEB Spis treści Część I Wprowadzenie 1 Część II Wymagania systemowe 1 Część III Instalacja KP.WEB 9 1 Konfiguracja... dostępu do dokumentów 11 Część IV
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,
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
UNIFON podręcznik użytkownika
UNIFON podręcznik użytkownika Spis treści: Instrukcja obsługi programu Unifon...2 Instalacja aplikacji Unifon...3 Korzystanie z aplikacji Unifon...6 Test zakończony sukcesem...9 Test zakończony niepowodzeniem...14
Dokumentacja programu TT-Manager. Wersja 2.1 Copyright 2012 Top-Team TT Sp. z o.o. www.top-team.pl
Wersja 2.1 Copyright 2012 Top-Team TT Sp. z o.o. www.top-team.pl Spis treści 1. O programie... 1 1.1. Środowisko... 1 1.2. Wymagania... 1 2. Przygotowania... 2 2.1. Instalacja Javy... 2 2.2. Instalacja
Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013
Przewodnik instalacji i rozpoczynania pracy Dla DataPage+ 2013 Ostatnia aktualizacja: 25 lipca 2013 Spis treści Instalowanie wymaganych wstępnie komponentów... 1 Przegląd... 1 Krok 1: Uruchamianie Setup.exe
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
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
JDK 7u25 NetBeans 7.3.1 Zajęcia 1 strona - 1
JDK 7u25 NetBeans 7.3.1 Zajęcia 1 strona - 1 Uwaga: INSTALACJA NOWEJ PLATFORMY JAVA SE Wygląd stron WWW pobieranych z serwera może być inny (aktualizacje), od tych pokazanych w instrukcji, ponieważ instrukcja
Logowanie do aplikacji TETA Web. Instrukcja Użytkownika
Logowanie do aplikacji TETA Web Instrukcja Użytkownika Spis treści 1 Wstęp... 2 1.1 O tym dokumencie... 2 1.2 Przyjęte oznaczenia... 2 1.3 Cel i zakres systemu... 2 1.4 Instalacja wtyczki Silverlight...
Ćwiczenie 2. Tworzenie serwisów internetowych. Zapoznanie z pakietem WebRatio
Ćwiczenie 2 Zapoznanie z pakietem WebRatio Zadaniem na drugie zajęcia będzie zapoznanie się z pakietem do wizualnego projektowania serwisów internetowych z wykorzystaniem języka WebML Uruchomienie i zapoznanie
Diagnostyka pamięci RAM
Diagnostyka pamięci RAM 1 (Pobrane z slow7.pl) Uszkodzenie pamięci RAM jest jednym z najczęściej występujących problemów związanych z niestabilnym działaniem komputera. Efektem uszkodzenia kości RAM są
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
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ć
Przegląd technologii JSP
Marcin Paszkowski Czego potrzebujemy? Przegląd technologii JSP Do obsługi serwletów oraz JSP używamy kontenera. Czym on jest? Zapewnia on prosty mechanizm komunikacji pomiędzy serwletami a serwerem www.
MentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Instalacja sieciowa Autodesk AutoCAD oraz wertykali
Instalacja sieciowa Autodesk AutoCAD oraz wertykali Łukasz Kuras Licencja sieciowa w przypadku produktów Autodesk rozdzielana jest za pomocą odpowiedniego oprogramowania zwanego Menedżerem licencji sieciowej.
Podręcznik użytkownika Konfiguracja Rejestracji Online
Podręcznik użytkownika Konfiguracja Rejestracji Online Dotyczy wersji: Spis treści 1. Licencja... 3 2. OpenVPN... i Agent 3 3. Adres portalu... rejestracji online 4 4. Konfiguracja... systemu 4 4.1. 4.2.
Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.
Aktywności to podstawowe elementy związane z platformą Android. Dzięki poznaniu aktywności będziesz w stanie napisać pierwszą aplikację przeznaczoną na urządzenie mobilne. Po dodaniu kontrolek możesz w
Samba, instalacja i konfiguracja
Samba, instalacja i konfiguracja Samba oprogramowanie umożliwiające uruchomienie tak zwanego serwera plików, na systemie Linux. Jest ono kompatybilne z systemem Windows, dlatego jest bardzo powszechnie
Plan. Raport. Tworzenie raportu z kreatora (1/3)
3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport
Ćwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0
Instrukcja instalacji środowiska testowego na TestingCup 2017 wersja 1.0 Spis treści: 1. Wstęp Błąd! Nie zdefiniowano zakładki. 2. Konfiguracja sprzętowa 2 3. Instalacja bazy danych MySQL 5.7 2 4. Import
Pomoc dla systemu WordPress
Pomoc dla systemu WordPress Ten plik pomocy przeznaczony jest dla pluginu stat24 w wersji 0.2. W tym pluginie porzucono wsparcie dla starszych wersji WordPress (niższych niż 1.5) oraz zrezygnowano z opcji
Laboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
Komunikacja między serwletami
Poznań Java Users Group Komunikacja między serwletami Bartosz Walter Instytut Informatyki Politechniki Poznańskiej Sceny z życia serwletów Obsługa żądań Żądanie Kontener GET / index.html HTTP/1.0 Serwlet
OpenLaszlo. OpenLaszlo
OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody
Rozwiązywanie problemów z Javą
Rozwiązywanie problemów z Javą Jak zacząć? Instrukcja poprawnej konfiguracji środowiska Java Poradnik, z którym sobie poradzisz! Wersja 1.1 Spis treści 1. Wstęp.... 3 1.1 Jak sprawdzić, czy ja już posiadam
Instrukcja instalacji oprogramowania Systemu e-kt
Instrukcja instalacji oprogramowania Systemu e-kt Proces instalacji oprogramowania Systemu e-kt... 2 Konfiguracja programu Java... 9 Konfiguracja Systemu e-kt w przeglądarce Mozilla Firefox... 10 Konfiguracja
Windows Server Active Directory
Windows Server 2012 - Active Directory Active Directory (AD) To usługa katalogowa a inaczej mówiąc hierarchiczna baza danych, która przynajmniej częściowo musi być ściśle związana z obiektową bazą danych.
Podgląd z rejestratorów IPOX na komputerze z systemem WINDOWS za pomocą programu NVMS-2.0 LITE
Wersja: 1.0 Data: 06.08.2019 Podgląd z rejestratorów IPOX na komputerze z systemem WINDOWS za pomocą programu NVMS-2.0 LITE NVMS-2 LITE jest oprogramowaniem typu CMS, umożliwiającym użytkownikowi sprawowanie
Po pobraniu plików instalacyjnych w pierwszej kolejności dokonujemy instalacji serwera ESET Remote Administrator Server
UWAGA!! Przed przystąpieniem do poniższej procedury zalecamy utworzenie backupu bazy danych z której korzysta ERA oraz konfiguracji serwera ERA - backup bazy można wykonać za pomocą narzędzia Maintenance