Java EE: Serwlety i filtry serwletów

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

Download "Java EE: Serwlety i filtry serwletów"

Transkrypt

1 Java EE: Serwlety i filtry serwletów Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 6.9 Celem ćwiczenia jest przedstawienie podstawowej technologii platformy Java EE, czyli technologii serwletów. Tutorial ilustruje klasyczne zastosowanie serwletów, tj. dynamiczne generowanie stron HTML. We współczesnych aplikacjach Javy EE opartych o wzorzec projektowy MVC, serwety pełnią funkcję kontrolera, odpowiadając za wstępne przetworzenie żądania, wywołanie logiki biznesowej i wybór strony widoku. Same widoki implementowane są np. w technologii JSP lub Facelets. 1. Utworzenie i uruchomienie pierwszego serwletu a) Uruchom środowisko NetBeans. Z menu File wybierz opcję New Project Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >

2 b) W drugim kroku kreatora jako nazwę projektu podaj Serwlety. W trzecim kroku kreatora jako serwer aplikacji wybierz najnowszą dostępną wersję serwera GlassFish, pozostaw zaproponowaną ścieżkę kontekstu i upewnij się, że jako wersja Javy EE wybrana jest Java EE 6 Web. W czwartym kroku nie wybieraj żadnych frameworków. Kliknij przycisk Finish. c) W oknie Projects kliknij prawym klawiszem myszki na ikonie projektu i z menu kontekstowego wybierz New Servlet

3 d) Jako nazwę serwletu podaj HelloWorldServlet. Jako nazwę pakietu wpisz ai.servlets. Kliknij przycisk Next > e) W ostatnim kroku kreatora pozostaw odznaczoną opcję dodania informacji o serwlecie do pliku deskryptora instalacji web.xml. Zwróć uwagę na odwzorowanie serwletu na adres URL. Pozostaw odwzorowanie zaproponowane przez kreator i kliknij przycisk Finish. Komentarz: Do wersji Java EE 5 konfiguracja serwletów (i całego modułu webowego aplikacji Java EE) realizowana była w oparciu o plik web.xml. Od wersji Java EE 6 plik ten jest opcjonalny, gdyż podstawowa konfiguracja może być wyspecyfikowana

4 poprzez adnotacje w kodzie Java. Plik web.xml jest używany do nadpisania ustawień zawartych w aplikacji po jej instalacji (bez konieczności rekompilacji aplikacji) oraz dla ustawień zaawansowanych, których nie można zrealizować poprzez adnotacje. f) Po zakończeniu działania kreatora Kod źródłowy serwletu zostanie otwarty w edytorze kodu. Odszukaj adnotację specyfikującą nazwę serwletu i jego odwzorowanie. Przeanalizuj w jaki sposób kreator zapewnił, że serwlet będzie odsługiwał żądania GET i POST, reagując na nie w ten sam sposób. g) Usuń z klasy serwletu metody doget, dopost i processrequest. Następnie dodaj poniższą implementację metody doget. protected void doget(httpservletrequest request, HttpServletResponse response) response.setcontenttype("text/html"); response.setcharacterencoding("windows-1250"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<head><title>hello World Servlet</title></head>"); out.println("<body>"); out.println("<h1>hello World!</h1>"); out.println("</body>"); out.println("</html>"); out.close(); h) Uruchom serwlet komendą Run File.

5 i) W oknie umożliwiającym modyfikację adresu URL, który ma być otwarty w przeglądarce (np. w celu dodania parametrów wywołania) pozostaw zaproponowany adres i kliknij OK. j) Efekt działania serwletu powinien być widoczny w przeglądarce. Obejrzyj komunikaty w oknie Output środowiska NetBeans. Zwróć uwagę, że w związku z uruchomieniem serwletu NetBeans wykonał następującą sekwencję czynności: 1) Kompilacja projektu 2) Instalacja (deployment) skompilowanego modułu na serwerze 3) Otwarcie przeglądarki z adresem URL wywołującym serwlet k) Informacje na temat procesu instalacji (i ewentualnych błędów) można obejrzeć w logu serwera aplikacji. Odszukaj węzeł reprezentujący wykorzystywany serwer aplikacji GlassFish w oknie Services i wywołaj okno prezentujące zawartość jego dziennika.

6 l) Wróć do edycji kodu klasy serwletu. Poprzez modyfikację adnotacji zmień domyślne odwzorowanie na /hws. Ponownie uruchom serwlet korygując adres wywołania, tak aby obejrzeć efekt działania serwletu w przeglądarce m) Powtórz kroki z punku l) dla następujących dwóch odwzorowań: *.hws, /hws/* n) Przywróć pierwotne odwzorowanie serwletu. 2. Serwlet generujący zawartość inną niż HTML a) Serwlety mogą generować inną zawartość niż dokumenty HTML, nawet niekoniecznie tekstową. Co więcej, o ile w generowaniu zawartości tekstowej (HTML, XML) w praktyce dziś są zastępowane przez inne technologie platformy Java EE, serwlety pozostają niezastąpione gdy do przeglądarki trzeba przesłać zawartość binarną (generowaną programowo lub np. pobraną z bazy danych). W tym kroku ćwiczenia utworzymy serwlet generujący dynamicznie obraz JPEG. Kliknij prawym klawiszem myszy na ikonie projektu i wybierz New Servlet. Podaj nazwę serwletu ImageServlet i umieść go w pakiecie ai.servlets. Kliknij przycisk Next >. Zaakceptuj domyślne odwzorowanie serwletu na adres URL. Kliknij przycisk Finish. b) Zamień automatycznie wygenerowany szkielet serwletu na poniższy kod package ai.servlets; import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; import java.awt.*; import java.awt.image.*; import com.sun.image.codec.jpeg.*; import urlpatterns={"/imageservlet") public class ImageServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) response.setcontenttype("image/jpeg"); int width = 100; int height = 30; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = (Graphics2D)image.getGraphics(); g.setcolor(color.orange); g.fillrect(0,0,width,height); g.setcolor(color.red); g.setfont(new Font("Dialog", Font.BOLD, 12)); g.drawstring("hello World!", 10, height/2 + 4); g.setcolor(color.black); g.drawrect(0,0,width-1,height-1); g.dispose(); ServletOutputStream sos = response.getoutputstream(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos); encoder.encode(image); c) Kliknij prawym klawiszem myszy w oknie edytora kodu źródłowego i z menu kontekstowego wybierz opcję Run File. Zaobserwuj działanie serwletu.

7 3. Przekazywanie parametrów z formularza HTML do serwletu d) Kliknij prawym klawiszem myszy na ikonie projektu i wybierz New HTML. Jako nazwę dokumentu podaj form (rozszerzenie *.html zostanie dodane automatycznie). Umieść w dokumencie poniższy kod. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>html form</title> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> </head> <body> <form action="helloworldservlet" method="get"> <table> <tr><td>name:</td><td><input type="text" name="name"/></td></tr> <tr><td>age: </td><td><input type="text" name="age" size="2"/></td></tr> <tr><td colspan="2"><input type="submit" value="send"/></td></tr> </table> </form> </body> </html> a) W edytorze kodu otwórz zawartość pliku HelloWorldServlet.java. Zmodyfikuj kod metody doget() w poniższy sposób. Zwróć uwagę na konieczność jawnego rzutowania parametrów innych niż łańcuchy znaków. response.setcontenttype("text/html"); response.setcharacterencoding("windows-1250"); PrintWriter out = response.getwriter(); String name = request.getparameter("name"); int age = Integer.parseInt(request.getParameter("age")); out.println("<html>"); out.println("<head><title>hello World Servlet</title></head>"); out.println("<body>"); out.println("<h1>hello World!</h1>"); out.println("<p>witaj, " + name + ", masz " + age + " lat</p>"); out.println("</body>"); out.println("</html>"); out.close(); b) Kliknij prawym klawiszem myszy na pliku form.html (w oknie Projects, gałąź Web Pages), z menu kontekstowego wybierz pozycję Run File. Wypełnij pola formularza i prześlij formularz do przetworzenia w serwlecie. Sprawdź czy serwlet poprawnie wygeneruje powitanie dla imienia zawierającego polskie znaki. c) Odszukaj w kodzie serwletu wiersz ustawiający kodowanie dla generowanej odpowiedzi. Następnie dodaj instrukcję w analogiczny sposób podającą informację o kodowaniu dla żądania (obiekt request). Zwróć uwagę aby informacja ta była ustawiona przed odczytem wartości parametrów z żądania. Ponownie uruchom formularz i sprawdź działanie serwletu dla imienia z polskimi znakami. d) Zmień w formularzu HTML metodę wywoływania serwletu na POST. Zainstaluj aplikację na serwerze. Ponownie otwórz formularz w przeglądarce i spróbuj wysłać formularz do serwletu. Zinterpretuj otrzymany komunikat.

8 e) Do klasy HelloWorldServlet dodaj poniższą metodę i ponownie przetestuj aplikację. protected void dopost(httpservletrequest request, HttpServletResponse response) this.doget(request, response); 4. Obsługa sesji w serwlecie a) Utwórz nowy serwlet i nazwij go HttpSessionServlet. Umieść nowo utworzony serwlet w pakiecie ai.servlets. Serwlet będzie umożliwiał przechowywanie krótkich notatek pomiędzy kolejnymi wywołaniami dokumentu. b) Jako kod serwletu podaj poniższy kod. Zwróć szczególną uwagę na obsługę sesji, utworzenie nowego obiektu do przechowywania notatek w przypadku gdy obiekt sesyjny jest pusty oraz konieczność każdorazowego utrwalenia obiektu sesyjnego. Uruchom serwlet i przetestuj jego działanie. package ai.servlets; import java.io.*; import java.util.arraylist; import javax.servlet.annotation.webservlet; import javax.servlet.*; import urlpatterns={"/httpsessionservlet") public class HttpSessionServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) HttpSession session = request.getsession(); ArrayList notes = (ArrayList)session.getAttribute("notes"); if (notes == null) { notes = new ArrayList (); session.setattribute("notes",notes); String note = request.getparameter("note"); if (note!= null) notes.add(note); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<body>"); out.println("<h1>my notes</h1>"); out.println("<ul>"); for (int i = 0; i < notes.size(); i++) out.println("<li>" + notes.get(i)); out.println("</ul>"); out.println("<form action='httpsessionservlet'>"); out.println("<input type='text' name='note'/><br/>"); out.println("<input type='submit' value='add note'/>"); out.println("</form>"); out.println("</body>"); out.println("</html>");

9 c) Interfejs Servlet API umożliwia proste zapisywanie dziennika aplikacji, który jest dostępny poprzez kontekst serwletu. Dodaj do klasy HttpSessionServlet poniższą metodę. Uruchom serwlet i w oknie dziennika zaobserwuj wyświetlony komunikat public void init() throws ServletException { this.getservletcontext().log("servlet initialized at " + new java.util.date()); 5. Współbieżne uruchomienie serwletu a) Utwórz nowy serwlet i nazwij go ConcurrentServlet. Umieść nowo utworzony serwlet w pakiecie ai.servlets. Zaakceptuj wszystkie pozostałe domyślne ustawienia. Jako kod źródłowy umieść poniższy kod. Zwróć uwagę, że serwlet implementuje wzorzec POST REDIRECT GET package ai.servlets; import java.io.*; import javax.servlet.annotation.webservlet; import javax.servlet.*; import urlpatterns={"/concurrentservlet") public class ConcurrentServlet extends HttpServlet { public String lastname; public void init() { lastname = "NoName"; protected void doget(httpservletrequest request, HttpServletResponse response) response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<body>"); out.println("name: <b>" + this.lastname + "</b>"); out.println("</body>"); out.println("</html>"); out.close(); protected void dopost(httpservletrequest request, HttpServletResponse response) String paramname = request.getparameter("last_name"); this.lastname = paramname; response.sendredirect("concurrentservlet");

10 b) Dodaj do projektu dokument HTML, nazwij go test.html i umieść w nim poniższy kod <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> </head> <body> <form action="concurrentservlet" method="post"> Podaj imię: <input type="text" name="last_name"/> <input type="submit" value="wyślij"/> </form> </body> </html> c) W pierwszym kroku uruchom sam serwlet bezpośrednio ze środowiska NetBeans. Co widzisz na ekranie? Następnie, uruchom plik test.html i za jego pomocą uruchom serwlet. Czy wynik jest taki, jak się spodziewała(e)ś? W kolejnym kroku, zachowując otwarte okno pierwszej przeglądarki, uruchom drugą przeglądarkę i otwórz ponownie plik test.html, podając inną wartość parametru do serwletu. Na koniec, powróć do okna pierwszej przeglądarki i, nie wykonując żadnych innych czynności, odśwież okno. Jak wytłumaczysz wynik, który obserwujesz? Jak naprawić aplikację? 6. Obsługa ciasteczek a) Utwórz nowy serwlet i nazwij go TossCoinServlet. Umieść nowo utworzony serwlet w pakiecie ai.servlets. Zaakceptuj wszystkie pozostałe domyślne ustawienia. Jako kod źródłowy umieść poniższy kod. Serwlet w każdym żądaniu rzuca monetą i wyświetla wynik rzutu. Dodatkowo, liczba uzyskanych orłów i reszek jest przechowywana pod postacią ciasteczka (Cookie). Przeanalizuj dokładnie poniższy kod, zwróć szczególną uwagę na sposób odczytywania danych z ciasteczka. Po uruchomieniu kodu odśwież dokument kilkukrotnie w celu zaobserwowania wyników działania. package ai.servlets; import java.io.*; import javax.servlet.annotation.webservlet; import javax.servlet.*; import urlpatterns={"/tosscoinservlet") public class TossCoinServlet extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); int numberofheads = 0; int numberoftails = 0; Cookie[] cookies = request.getcookies(); if (cookies!= null) for (int i = 0; i < cookies.length; i++) { if (cookies[i].getname().equals("heads"))

11 numberofheads = Integer.parseInt(cookies[i].getValue()); if (cookies[i].getname().equals("tails")) numberoftails = Integer.parseInt(cookies[i].getValue()); String toss = (Math.random() <= 0.5)? "head" : "tail"; if (toss.equals("head")) numberofheads++; else numberoftails++; Cookie heads = new Cookie("heads", String.valueOf(numberOfHeads)); heads.setmaxage(integer.max_value); heads.setcomment("to store the observed number of heads"); response.addcookie(heads); Cookie tails = new Cookie("tails", String.valueOf(numberOfTails)); tails.setmaxage(integer.max_value); tails.setcomment("to store the observed number of tails"); response.addcookie(tails); out.println("<html>"); out.println("<body>"); out.println("coin toss: " + toss + "<br/>"); out.println("number of heads: " + numberofheads + "<br/>"); out.println("number of tails: " + numberoftails + "<br/>"); out.println("<a href=\"tosscoinservlet\">toss again</a>"); out.println("</body>"); out.println("</html>"); out.close(); 7. Kontrola sterowania. Zasięg żądania widoczności zmiennych. a) Utwórz nowy serwlet i nazwij go ServletA. Umieść nowo utworzony serwlet w pakiecie ai.servlets. Zaakceptuj wszystkie pozostałe domyślne ustawienia. Jako kod źródłowy umieść poniższy kod. Serwlet losuje czterocyfrową liczbę i przekazuje ją poprzez zasięg żądania widoczności zmiennych. Zwróć uwagę, że przekazać można tylko obiekt, a zatem liczba całkowita musi być przekazana pod postacią klasy opakowującej Integer. package ai.servlets; import java.io.*; import javax.servlet.annotation.webservlet; import javax.servlet.*; import urlpatterns={"/servleta") public class ServletA extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) ServletContext ctx = this.getservletcontext(); RequestDispatcher dispatcher = ctx.getrequestdispatcher("/servletb"); java.util.random randomizer = new java.util.random(); Integer pin = new Integer(randomizer.nextInt(9999)); request.setattribute("pin",pin); PrintWriter out = response.getwriter();

12 out.println("<html>"); out.println("<body>"); out.println("<h1>tekst wygenerowany przez ServletA</h1>"); dispatcher.forward(request, response); b) Utwórz drugi serwlet o nazwie ServletB. Umieść nowo utworzony serwlet w pakiecie ai.servlets. Zaakceptuj wszystkie pozostałe domyślne ustawienia Umieść w serwlecie poniższy kod. Zainstaluj aplikację w serwerze aplikacji. package ai.servlets; import java.io.*; import javax.servlet.annotation.webservlet; import javax.servlet.*; import urlpatterns={"/servletb") public class ServletB extends HttpServlet { protected void doget(httpservletrequest request, HttpServletResponse response) java.text.decimalformat fmt = new java.text.decimalformat("0000"); String pin = fmt.format(request.getattribute("pin")); PrintWriter out = response.getwriter(); out.println("<h1>tekst wygenerowany przez ServletB</h1>"); out.println("wygenerowany PIN: " + pin); out.close(); c) Uruchom serwlet ServletA. Czy widzisz kod wygenerowany przez ServletA? Zamień wywołanie metody dispatcher.forward(request, response) na wywołanie metody dispatcher.include(request, response). Ponownie zainstaluj aplikację w serwerze aplikacji i uruchom ponownie ServletA. Czy tym razem widzisz wynik działania serwletu ServletA?

13 8. Filtry serwletów a) Interfejs Servlet API umożliwia definiowanie filtrów, które można łączyć w łańcuch wywoływanych kolejno komponentów. Filtry mogą być aplikowane do obiektu żądania i do obiektu odpowiedzi. Ostatnie ćwiczenie polega na dodaniu prostego filtru, który będzie automatycznie zliczał liczbę odwołań do każdego serwletu wchodzącego w skład aplikacji. b) Kliknij prawym klawiszem myszy na projekcie i wybierz New Other Przejdź do kategorii Web i zaznacz Filter Kliknij przycisk Next >

14 b) Jako nazwę filtru podaj LinkTrackFilter, umieść filtr w pakiecie ai.servlets. Upewnij się, że oryginalne obiekty żądania i odpowiedzi nie zostaną opakowane. Kliknij przycisk Next >

15 c) W ostatnim oknie kreatora zdefiniuj odwzorowanie filtra na URL /* aby każde żądanie do dowolnego zasobu aplikacji było kierowane przez filtr. Nie zlecaj dodania informacji o filtrze do pliku konfiguracyjnego web.xml. Kliknij przycisk Finish. d) Jako kod źródłowy filtru umieść poniższy kod. package ai.servlets; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import urlpatterns={"/*") public class LinkTrackFilter implements Filter { private FilterConfig filterconfig = null; private HashMap links = null; public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String link = ((HttpServletRequest)request).getRequestURL().toString(); int count = 0; if (links.containskey(link)) count = Integer.parseInt(links.get(link).toString()); links.put(link, Integer.valueOf(++count));

16 Iterator i = links.keyset().iterator(); while (i.hasnext()) { link = i.next().tostring(); count = Integer.parseInt(links.get(link).toString()); String str = link + " requested " + count + " times"; this.getfilterconfig().getservletcontext().log(str); chain.dofilter(request, response); public FilterConfig getfilterconfig() { return (this.filterconfig); public void setfilterconfig(filterconfig filterconfig) { this.filterconfig = filterconfig; public void destroy() { public void init(filterconfig filterconfig) { this.filterconfig = filterconfig; this.links = new HashMap(); c) Zainstaluj aplikację w serwerze aplikacji wybierając opcję Deploy z menu kontekstowego węzła projektu w oknie Projects. Otwórz w przeglądarce kolejno serwlety ServletA, HttpSessionServlet, ImageServlet, po otwarciu każdego serwletu odśwież kilkukrotnie zawartość przeglądarki. W oknie dziennika aplikacji zaobserwuj wynik działania filtru.

b) Jako nazwę projektu wpisz SerwletyJSPJSTL. Nie zmieniaj wartości pozostałych opcji. Kliknij przycisk Next >.

b) Jako nazwę projektu wpisz SerwletyJSPJSTL. Nie zmieniaj wartości pozostałych opcji. Kliknij przycisk Next >. Serwlety, JSP, JSTL Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji 7.0.1). Celem ćwiczenia jest wprowadzenie do podstawowych

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

Aplikacje internetowe i rozproszone - laboratorium

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,

Bardziej szczegółowo

Enterprise JavaBeans (EJB)

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

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

Architektury Usług Internetowych. Laboratorium 1. Servlety

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

Bardziej szczegółowo

Java Database Connectivity

Java Database Connectivity Java Database Connectivity Celem ćwiczenia jest zbudowanie kilku prostych serwletów z użyciem technologii JDBC. Podczas ćwiczenia zbudowane zostaną serwlety ilustrujące podstawowe techniki łączenia się

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

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

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

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty

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

Serwlety. Co to jest serwlet? Przykładowy kod serwletu. Po co są serwlety?

Serwlety. Co to jest serwlet? Przykładowy kod serwletu. Po co są serwlety? Serwlety Co to jest serwlet? kawałek kodu w Javie po stronie serwera HTTP rozszerza moŝliwośći serwera CGI, w Javie, wzbogacone o biblioteki ułatwiające Ŝycie programiście (np. utrzymywanie sesji, wpólne

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

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

prepared by: Programowanie WWW Servlety

prepared by: Programowanie WWW Servlety Programowanie WWW Servlety Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt) Klasa Kredyt

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 1 Servlety

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

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

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

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,

Bardziej szczegółowo

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

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,

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

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe laboratorium 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

Java wybrane technologie spotkanie nr 4. Serwlety c.d.

Java wybrane technologie spotkanie nr 4. Serwlety c.d. Java wybrane technologie spotkanie nr 4 Serwlety c.d. 1 Wprowadzenie Narzucona struktura katalogów aplikacji (większa przenośności) webapps -app1 -app2 -app3 (root) -*.html, *.gif, *.js, *.css (być może

Bardziej szczegółowo

Laboratorium 1 Wprowadzenie do PHP

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,

Bardziej szczegółowo

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

Bardziej szczegółowo

Projektowanie aplikacji internetowych laboratorium

Projektowanie aplikacji internetowych laboratorium Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji

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

Piotr Laskowski Krzysztof Stefański. Java Servlets

Piotr Laskowski Krzysztof Stefański. Java Servlets Piotr Laskowski Krzysztof Stefański Java Servlets Java Servlets Technologia dynamicznego generowania treści dla aplikacji WWW Wyspecyfikowana przez Sun, obecnie przez Java Community Process Pierwsza formalna

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

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe 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

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

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

Programowanie w języku Java

Programowanie w języku Java Programowanie w języku Java Wykład 6: Programowanie rozproszone: Servlety, JSP JEE warstwa WWW Programowanie w języku Java 2 1 Interakcje serwer-klient Programowanie w języku Java 3 Technologie warstwy

Bardziej szczegółowo

Przegląd technologii JSP

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.

Bardziej szczegółowo

Serwlety Java: zagadnienia zaawansowane. Data Sources. Data Sources. Przykład pliku data-sources.xml

Serwlety Java: zagadnienia zaawansowane. Data Sources. Data Sources. Przykład pliku data-sources.xml Serwlety Java: zagadnienia zaawansowane Data Sources Data Sources Przykład pliku data-sources.xml Obiekt Data Source stanowi logiczną definicję bazy danych programista korzysta z obiektu Data Source serwer

Bardziej szczegółowo

Web Services (SOAP) Ćwiczenie 1

Web Services (SOAP) Ćwiczenie 1 Web Services (SOAP) Ćwiczenia dotyczące platformy Java EE zostały przygotowane z myślą o środowisku NetBeans w wersji 8.x (do pobrania z http://www.netbeans.org/). Do wykonania ćwiczeń dotyczących platformy

Bardziej szczegółowo

Testowanie podstawowej konfiguracji serwera w środowisku NetBeans

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

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)

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

Java wybrane technologie spotkanie nr 3. Serwlety

Java wybrane technologie spotkanie nr 3. Serwlety Java wybrane technologie spotkanie nr 3 Serwlety 1 Klient-Serwer Odpowiedzialność serwera przyjmowanie żądań od klienta przygotowywanie odpowiedzi statyczna dynamiczna Rodzaje odpowiedzi statyczna dynamiczna

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

Zaawansowane aplikacje internetowe laboratorium

Zaawansowane aplikacje internetowe laboratorium Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana

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

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

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

E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Adaptacja rozwiązania dla środowiska NetBeans 7.0.1: Łukasz Przytuła, opracowanie materiałów: Andrzej Dawidowicz Do wykonania ćwiczeń potrzebne

Bardziej szczegółowo

In»ynieria systemów informacyjnych - Adam Krechowicz

In»ynieria systemów informacyjnych - Adam Krechowicz In»ynieria systemów informacyjnych - Adam Krechowicz 1 Serwlety Klasa j zyka Java pozwalaj ca na obsªugiwanie» da«od klientów. 1.1 Serwlet HTTP Klasa pozwala na dynamiczne tworzenie stron internetowych

Bardziej szczegółowo

Wzorce prezentacji internetowych

Wzorce prezentacji internetowych Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.

Bardziej szczegółowo

Zastosowanie komponentów EJB typu Session

Zastosowanie komponentów EJB typu Session Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1 1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać

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

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

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

Programowanie obiektowe zastosowanie języka Java SE

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

Bardziej szczegółowo

JavaServer Pages. Konrad Kurdej Karol Strzelecki

JavaServer Pages. Konrad Kurdej Karol Strzelecki JavaServer Pages Konrad Kurdej Karol Strzelecki Podejścia do projektowania web aplikacji za pomocą Javy Serwlety Java Serwlety Java to technologia wchodząca w skład Java EE (dawniej J2EE). Serwlet Java

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

Aplikacje internetowe - laboratorium

Aplikacje internetowe - laboratorium Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Laboratorium 2. Formularze HTML. Metody przekazywania parametrów. Spis treści I. Wprowadzanie wartości parametrów w formularzu HTML... 1 II. Projektowanie formularza

Bardziej szczegółowo

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo

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

Bardziej szczegółowo

Java Enterprise Edition spotkanie nr 3. Serwlety c.d.

Java Enterprise Edition spotkanie nr 3. Serwlety c.d. Java Enterprise Edition spotkanie nr 3 Serwlety c.d. 1 Wzorzec obserwator ServletRequestAttributeListener void attributeadded(servletrequestattributeevent ev) void attributeremoved(servletrequestattributeevent

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

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA. Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej architekturę CORBA. Aplikacja składa się z usługodawcy (serwera)

Bardziej szczegółowo

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji Wykład prowadzi Mikołaj Morzy CGI i serwlety Plan wykładu Metody konstrukcji logiki prezentacji Programy CGI Serwlety Java implementacja korzystanie z nagłówków obsługa zmiennych Cookies obsługa sesji

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

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 09

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 09 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 09 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 Serwlety Plan Serwlety Przypomnienie Serwlety - wstęp Wstęp Możliwości

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

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

Bardziej szczegółowo

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

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie

Bardziej szczegółowo

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z

Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z RESTful Web Services Ćwiczenie dotyczące platformy Java EE zostało przygotowane z myślą o środowisku NetBeans w wersji 7.3 (do pobrania z http://www.netbeans.org/). Celem ćwiczenia jest przygotowanie usługi

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych

Bardziej szczegółowo

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

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Komunikacja między serwletami

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

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Java Database Connectivity Celem ćwiczenia jest zbudowanie kilku prostych serwletów z użyciem technologii JDBC. Podczas ćwiczenia zbudowane zostaną serwlety ilustrujące podstawowe

Bardziej szczegółowo

prepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller

prepared by: pawel@kasprowski.pl Programowanie WWW Model-View-Controller Programowanie WWW Model-View-Controller Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt)

Bardziej szczegółowo

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF O mnie 12 lat doświadczenia w systemach WEB Java/JEE (ISC) 2 CISSP CTO w J-LABS GET / HTTP/1.1 Host: bank.pl User-Agent: Mozilla/5.0

Bardziej szczegółowo

Java wybrane technologie spotkanie nr 5. Java Server Pages

Java wybrane technologie spotkanie nr 5. Java Server Pages Java wybrane technologie spotkanie nr 5 Java Server Pages 1 Składnia dowolny HTML (template) 2

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet filtry oraz web.xml Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Filtry, wywoływanie filtrów, wywołania łańcuchowe

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 2015. W ramach projektu budowana jest prosta

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

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

Bardziej szczegółowo

Java EE: JSF + EJB + JPA + CDI + BV

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

Bardziej szczegółowo

Tworzenie usług internetowych. Servlety cz. 1

Tworzenie usług internetowych. Servlety cz. 1 Tworzenie usług internetowych Servlety cz. 1 Aplikacje WEB Aplikacje WEB to zestaw komponentów programistycznych, działających po stronie serwera i dynamicznie reagujących na zlecenia ze strony programów

Bardziej szczegółowo

Wprowadzenie do JSP. Marcin Apostoluk, Tadeusz Pawlus, Wojciech Walczak. Technologie Biznesu Elektronicznego, 7 marzec 2006

Wprowadzenie do JSP. Marcin Apostoluk, Tadeusz Pawlus, Wojciech Walczak. Technologie Biznesu Elektronicznego, 7 marzec 2006 Marcin Apostoluk Tadeusz Pawlus Wojciech Walczak Technologie Biznesu Elektronicznego, 7 marzec 2006 Plan prezentacji 1 2 3 4 5 6 7 Kto się tym zajmuje? Opis serwletu Przykład Serwlety inne niż HTTP Aplikacje

Bardziej szczegółowo

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

Bardziej szczegółowo

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

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1) Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie

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

Serwlety i JSP. Autor: Marek Zawadka deekay@gazeta.pl

Serwlety i JSP. Autor: Marek Zawadka deekay@gazeta.pl Serwlety i JSP Autor: Marek Zawadka deekay@gazeta.pl Plan prezentacji Wstęp CGI i inne wcześniejsze rozwiązania Serwlety ulepszenia klasa HTTPServlet obsługa sesji wielowątkowość JSP czym się różni od

Bardziej szczegółowo

Projektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu:

Projektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu: Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO zawierającej aplikację klienta typu EE oraz internetową aplikację uruchamianą za pomocą przeglądarki. Projektowanie

Bardziej szczegółowo

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

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >. Zaawansowane aplikacje internetowe laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 6.7.1 (do pobrania z http://www.netbeans.org/downloads/index.html).

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegółowo

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1 Dr inż. Zofia Kruczkiewicz Etap 1 - Tworzenie apletu 1. Wybierz z menu File\ New Project. Na formularzu New Project wybierz w oknie Categories

Bardziej szczegółowo

Laboratorium 6 Tworzenie bloga w Zend Framework

Laboratorium 6 Tworzenie bloga w Zend Framework Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

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

Wprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/

Wprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ 1 Wprowadzenie do J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji

Bardziej szczegółowo

Serwery aplikacji. dr Radosław Matusik. radmat

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

Bardziej szczegółowo

Serwery aplikacji. dr Radosław Matusik. radmat

Serwery aplikacji. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat Ciasteczka trwałe i sesyjne Ciasteczka trwałe - pozostają na komputerze użytkownika po zamknięciu strony, z której zostały pobrane / przeglądarki. Ciasteczka sesyjne - są związane

Bardziej szczegółowo

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 8.1, opracowanie materiału: Piotr Nierebiński, Mateusz Turski (na podstawie materiału oryginalnego

Bardziej szczegółowo

Java w Internecie - czy to ma sens? ;)

Java w Internecie - czy to ma sens? ;) Java w Internecie - czy to ma sens? ;) Piotr Dziubecki PCSS Agenda Wstęp Zastosowania Javy w polskim Internecie Do czego Java nam się nie przyda? Zaczynamy z Javą: - technologie, - trendy, - koszty. Podsumowanie

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo