Serwlety. Co to jest serwlet? Przykładowy kod serwletu. Po co są serwlety?
|
|
- Danuta Michalak
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 zasoby serwletów, ciasteczka, obsługa GET/POST/PUT) coś jak aplet: róŝni się miejscem wykonywania oraz dostępnymi bibliotekami serwlety mogą korzystać ze standardowych klas Javy (z VM), klas wchodzących w skład Servlet API: javax.servlet.* i javax.servlet.http.* oraz ewentualnie z dodatkowych bibliotek zainstalowanych na serwerze. serwlety nie mają interfejsu uŝytkownika, komunikują się z przeglądarką (za pośrednictwem serwera WWW wspierającego serwlety) za pomocą protokołu HTTP Przykładowy kod serwletu import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class SimpleServlet extends HttpServlet { public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; response.setcontenttype("text/html"); out = response.getwriter(); out.println("<html><head><title>"); out.println("hello world servlet"); out.println("</title></head><body>"); out.println("<h1>" + title + "</H1>"); out.println("<p>this is output from SimpleServlet."); out.println("</body></html>"); out.close(); Po co są serwlety? Zasadniczo: do wyświetlania dynamicznych stron WWW.
2 przetwarzanie formularzy forwarding wyświetlania wyników zapytań do b. d. (tu zaleca się strony JSP) są częścią J2EE Miejsce serwletów w aplikacjach J2EE serwlety to rozszerzenie serwera WWW blisko interfejsu uŝytkownika: zorientowane na Ŝądanie/odpowiedź (request/response) serwlety działają w odpowiedzi na Ŝadania klienta są interfejsem do serwera aplikacyjnego/bazy danych/ejb pełnią rolę kontrolera w schemacie Model-View-Controller, za widok odpowiedzialne są strony JSP (czyli kod Javy imieszczony w pliku html), model to EJB w serwletach zaleca się umieszczanie tylko lekkich funkji biznesowych, ale w małych aplikacjach cała logika moŝe być w serwletach i JSP Rysunek 1. Warstwy w modelu J2EE (obrazek z J2EE Tutorial)
3 Rysynek 2. Kontenery w modelu J2EE (obrazek z J2EE Tutorial) Komunikacja z klientem przedefiniowanie metod doget, dopost, doput, dodelete. Te metody są wywoływane przez metodę service zdefiniowaną w Servlet przy kaŝdym Ŝądaniu do serwera dotyczącym serwletu. service to tablica rozdzielcza. dane od klienta (przeglądarki) są w obiekcie HttpServletRequest. WaŜne metody obiektu request: o getparameter - zwraca parametr, np. z formularza o getcookies - daje ciasteczka o getsession - podaje obiekt sesji o getreader (dla danych tekstowych) o getinputstream (dla danych binarnych) dane do klienta symbolizuje obiekt HttpServletResponse WaŜne metody obiektu response: o o getwriter (dane tekstowe) getoutputstream (dane binarne) szczegóły i pozostałe metody: javadoc do javax.servlet.http.* Przykład komunikacji z klientem <html> <head><title>formularz</title></head> <body> <form action="/karolb/test" method="post"> Podaj tekst: <input type="text" name="tekst" value=""> </form> </body>
4 </html> zadziała następujący serwlet: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class TestServlet extends HttpServlet { public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; String tekst; response.setcontenttype("text/html"); out = response.getwriter(); out.println("<html><head><title>wyniki z formularza"); out.println("</title></head><body>"); tekst = request.getparameter("tekst"); if (tekst!= null) out.println("z formularza otrzymalem: " + tekst); else out.println("brak danych z formularza"); out.println("</body></html>"); out.close(); public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; String tekst; response.setcontenttype("text/html"); out = response.getwriter(); out.println("<html><head><title>uwaga</title>"); out.println("</head><body>"); out.println("ten serwlet nie obsluguje metody GET!"); out.println("</body></html>"); out.close(); Wielowątkowość Serwlety wykonują się w środowisku wielowątkowym, więc moŝe się zdarzyć, Ŝe wiele kopii serwletu będzie działać naraz. A moŝe być tak, Ŝe będzie jedna instancja serwletu, ale wiele wątków wykonujących metodę service. JeŜeli w serwlecie jest odwołanie do zasobu, który wymaga wyłączności to: trzeba zapewnić wykluczanie ręcznie, np. uŝywając zmiennych/metod synchronized zadeklarować, Ŝe serwlet implementuje interfejs SingleThreadModel, wtedy serwer uruchomi jednocześnie tylko jedną instancję metody service, np. public class
5 ReceiptServlet extends HttpServlet implements SingleThreadModel. Ten interfejs nie zawiera Ŝadnych metod, jest tylko znacznikiem dla kontenera. Cykl Ŝycia serwletu na początku system woła metodę init(), w niej moŝna np. połączyć się z bazą danych o jeŝeli coś pójdzie nie tak to naleŝy rzucić wyjątek UnavailableException o moŝna wołać metodę getinitparameter, interpretowaną przez serwer (kontener), np. jako init-param z pliku web.xml w Tomcat'cie. W takim parametrze moŝe być zapisany np. URL do bazy danych. gdy serwer zdecyduje wyrzucić serwlet z pamięci to wywołuje metodę destroy. Uwaga! JeŜeli metoda do[get Post] wykonuje się długo, to trzeba zadbać o jej zakończenie. JeŜeli serwlet uruchamiał wątki, to teŝ trzeba je przerwać.. Szczegóły w Servlet Tutorial na stronach Sun'a. Utrzymywanie stanu (session tracking) To jedna z najwaŝniejszych zalet serwletów. Nie ma tego w CGI. Schemat: HttpSession session = request.getsession(true); (czytanie/pisanie) Klasa ref_obiektu1 = new Klasa(); (pisanie) session.putattribute("dluga.nazwa_atr", ref_obiektu1); (pisanie) Klasa ref_obiektu2 = (Klasa) session.getattribute("dluga.nazwa_atr"); (czytanie) Cechy: Wkładanie i wyjmowanie obiektów z sesji nie ma nic wspólnego z interfejsem serializable. Obiekty nie są nigdzie składowane, tylko istnieją w pamięci kontenera. Metody operują na referencjach. Po odczytaniu referencji metodą getattribute operujemy juŝ na oryginalnym (jedynym!) obiekcie. Po odczytaniu atrybutu trzeba sprawdzić czy jest równy null, jeŝeli tak to trzeba utworzyć nowy obiekt (uwaga na wielowątkowość). Sesje działają standardowo na ciasteczkach. W ciasteczku jest tylko id sesji, reszta siedzi w pamięci kontenera. JeŜeli przeglądarka nie obsługuje ciasteczek to trzeba uŝywać metody encodeurl(). Gdy serwlet ma wyświetlić link do drugiego serwletu to w metodzie doget() trzeba umieścić: String wartosc = "abc"; out.println("link do drugiego serwletu z parametrem: " +... "<a href=\"" + response.encodeurl("/drugi_serwlet?param=" + wartosc) + "\">" +...);
6 Takie wywołanie dorzuci do parametrów w adresie identyfikator sesji. Sesje nie są związane z jednym serwletem, róŝne serwlety korzystają z tej samej sesji Przykład uŝycia sesji Wkładanie i wyjmowanie z sesji import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DodajProdukt extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getsession(true); Koszyk koszyk = (Koszyk) session.getattribute("pl.zakupy.koszyk"); if (koszyk == null) { koszyk = new Koszyk(); session.setattribute("pl.zakupy.koszyk", koszyk); koszyk.dodaj(request.getparameter("produkt")); RequestDispatcher dispatcher = getservletcontext().getrequestdispatcher( "/wyswietl_koszyk.jsp"); if (dispatcher!= null) dispatcher.forward(request, response); Uwaga: po modyfikacji koszyka nie trzeba go specjalnie zapisywać do sesji. W skrypcie /wyswietl_koszyk.jsp wyświetlam zawartość koszyka. Ciasteczka (Cookies) Schemat uŝycia: Wysyłanie String wartosc = "byle-co"; Cookie ciacho = new Cookie("Nazwa", wartosc);
7 response.addcookie(ciacho); Odbieranie Cookie[] cookies = request.getcookies(); String wartosc; for (int i = 0; i < cookies.length; i++) { if (cookies[i].getname().equals("nazwa")) wartosc = thiscookie.getvalue(); Lepiej jednak uŝywać sesji. Dzielenie zasobów między serwlety (ServletContext) Schemat (podobny do tego przy obsłudze sesji): ServletContext context = getservletcontext(); (czytanie/pisanie) Klasa ref_obiektu1 = new Klasa(); (pisanie) context.setattribute("dluga.nazwa_atr", ref_obiektu1); (pisanie) Klasa ref_obiektu2 = context.getattribute("dluga.nazwa_atr"); (czytanie) Przechowywanie jest podobne do tego związanego z sesjami, ale te same obiekty są dostępne dla wszystkich serwletów na serwerze (w kontenerze). Dlatego trzeba szczególnie uwaŝać na nazwy atrybutów, Ŝeby się nie zdarzyło, Ŝe dwie róŝne apliacje chcą korzystać z tego samego atrybutu. Przykład uŝycia kontekstu public class WyswietlDane extends HttpServlet { public synchronized void init() throws ServletExcpetion { BazaDanych bd = (BazaDanych) getservletcontext().getattribute("pl.sklep.bd.baza"); if (bd == null) { bd = new BazaDanych(" "scott", "tiger"); getservletcontext().setattribute("pl.sklep.bd.baza", bd);...
8 Inne moŝliwości serwletów ServletDispatcher - umoŝliwia przekierowywanie do innego serwletu (metoda forward, patrz wyŝej) i włączanie wyjścia innego serwletu we własne wyjście (metoda include). filtry - klasa Filter. Filtrów uŝywa się do modyfikowania komunikatów między klientem a docelowym serwletem na serwerze. Filtry moŝna łączyć w łańcuchy. Przykładowe zastosowania filtrów to: autentykacja, szyfrowanie, kompresja. Szczegóły w J2EE Tutorial i JavaDocu. Przykład z J2EE Tutorial: public final class HitCounterFilter implements Filter { private FilterConfig filterconfig = null; public void init(filterconfig filterconfig) throws ServletException { this.filterconfig = filterconfig; public void destroy() { this.filterconfig = null; public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (filterconfig == null) return; StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); Counter counter = (Counter)filterConfig. getservletcontext(). getattribute("hitcounter"); writer.println(); writer.println("==============="); writer.println("the number of hits is: " + counter.inccounter()); writer.println("==============="); // Log the resulting string writer.flush(); filterconfig.getservletcontext(). log(sw.getbuffer().tostring());... chain.dofilter(request, wrapper);... Instalowanie serwletów na Tomcat'cie Najpierw trzeba zainstalować Tomcata. Tomcat to serwer http napisany w Javie przez Apache Software Group. MoŜe działać jako samodzielny serwer (domyślnie na porcie 8080) lub zintegrować się z Apachem. Kompilacja serwletu: javac -classpath $TOMCAT_HOME/lib/servlet.jar Test.java
9 Plik Test.class ma trafić do katalogu $TOMCAT_HOME/webapps/test_kat/WEB- INF/classes Trzeba utworzyć plik $TOMCAT_HOME/webapps/test_kat/WEB-INF/web.xml, o treści: <?xml version="1.0" encoding="iso "?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" " <web-app> <servlet> <servlet-name> test_serw </servlet-name> <servlet-class> Test </servlet-class> </servlet> <servlet-mapping> <servlet-name> test_serw </servlet-name> <url-pattern> /test </url-pattern> </servlet-mapping> </web-app> Jak widać najpierw nazwa serwletu (test_serw) jest wiązana z klasą (Test.class), a potem nazwa serwletu jest przypisywana do ścieŝki (w obrębie kontekstu). Do pliku $TOMCAT_HOME/conf/server.xml trzeba dopisać: <Context path="/test_kat" docbase="webapps/test_kat" reloadable="true"/> wewnątrz znacznika <ContextManager>. W tym pliku określa się jak z zewnątrz adresować dany kontekst, tu kontekst z katalogu webapps/test_kat będzie widziany jako katalog test_kat. Teraz moŝna do serwletu odwoływać się poprzez localhost:8080/test_kat/test.
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ółowoSerwlety i JSP na platformie Java EE. Damian Makarow
Serwlety i JSP na platformie Java EE Damian Makarow Przebieg prezentacji Serwlety JSP Serwlety a aplikacje Java EE Sesje Ciasteczka Cykl życia Znaczniki Scope JSTL Serwlety+JSP Serwlety i JSP na platformie
Bardziej szczegółowoPiotr 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ółowoJava 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ółowoWykł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ółowo1 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ółowoSerwery 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ółowoAplikacje 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ółowoJava 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ółowoprepared 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ółowoCGI 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ółowoZaawansowane 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ółowoElementy 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ółowoJava EE: Serwlety i filtry serwletów
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
Bardziej szczegółowoArchitektury 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ółowoSerwlety 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ółowoWzorce 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ółowoIn»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ółowoSerwery 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ółowoJava 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ółowopawel.rajba@gmail.com, http://kursy24.eu/
pawel.rajba@gmail.com, http://kursy24.eu/ Servlets Charakterystyka Główne metody Obiekty request i response JSP Dyrektywy Elementy skryptowe Elementy akcji Generowanie treści Obiekty niejawne Obiekty request
Bardziej szczegółowoSerwlety 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ółowo2) 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ółowoWprowadzenie 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ółowoJavaServer 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ółowoArchitektury 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ółowoWprowadzenie 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ółowoAplikacje 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ółowomgr inż. Michał Paluch
Komunikacja w Internecie Użytkownik klika w odpowiednie łącze. Przeglądarka formatuje żądanie i wysyła Serwer odnajduje zasób, formatuje odpowiedź i przesyła do przeglądarki. Protokół HTTP Zadania klienta
Bardziej szczegółowoProgramowanie 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ółowoAplikacje 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ółowoPrzeglą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ółowoProjektowanie aplikacji J2EE w architekturze Model-View-Controller
XI Konferencja PLOUG Kościelisko Październik 2005 Projektowanie aplikacji J2EE w architekturze Model-View-Controller Maciej Zakrzewicz PLOUG, Instytut Informatyki Politechniki Poznańskiej mzakrz@cs.put.poznan.pl
Bardziej szczegółowoKomunikacja 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ółowoJava 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ółowoprepared 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ółowoProgramowanie 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ółowoSerwery 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ółowoProgramowanie 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
Bardziej szczegółowoTestowanie aplikacji Java Servlets
Borland Developer Days 2004 2-3 czerwca 2004 Testowanie aplikacji Java Servlets Bartosz Walter mailto: Bartek.Walter@man.poznan.pl Agenda Aplikacje Java Servlets TM Jak testować aplikacje internetowe?
Bardziej szczegółowoTIN Techniki Internetowe Lato 2005
TIN Techniki Internetowe Lato 2005 Grzegorz Blinowski Instytut Informatyki Politechniki Warszawskiej Plan wykładów 2 Intersieć, ISO/OSI, protokoły sieciowe, IP 3 Protokoły transportowe: UDP, TCP 4 Model
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Bardziej szczegółowoAplikacje 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
Bardziej szczegółowoJava 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ółowoProgramowanie 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ółowoSerwery 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ółowoWstę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
Bardziej szczegółowoPrzekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł:
Przekazywanie danych Dane zewnętrzne mogą pochodzić z róŝnych źródeł: - ze środowiska systemu - z parametrów adresu (przekazywane metodą GET) - z formularza przekazywane metodą GET - z formularza przekazywane
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoZaawansowane 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ółowoAktywne i dynamiczne strony WWW. Elementy projektowania stron WWW. Część 3. Formularze HTML przykład. Formularze HTML. dr inŝ.
Aktywne i dynamiczne strony WWW Elementy projektowania stron WWW Część 3 dr inŝ. Tomasz Traczyk Formularze HTML Aktywne strony WWW Dynamiczne strony WWW 2 Formularze HTML Formularze HTML przykład Do czego
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoBezpieczeń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ółowoJava 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ółowoEnterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Bardziej szczegółowoPaaS technologie i standardy. Paulina Adamska tiia@pjwstk.edu.pl
PaaS technologie i standardy Paulina Adamska tiia@pjwstk.edu.pl Plan przedmiotu Technologie webowe Standardy i protokoły wykorzystywane w aplikacjach webowych Wprowadzenie do tematyki chmur Przegląd platform
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowob) 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ółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Bardziej szczegółowoAnaliza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle
VIII Konferencja PLOUG Koœcielisko PaŸdziernik 2002 Analiza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle Marek Wojciechowski, Maciej Zakrzewicz Politechnika Poznañska,
Bardziej szczegółowoJAX-RS czyli REST w Javie. Adam Kędziora
JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL
Bardziej szczegółowoBadania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid
Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid Tomasz Kuczyński Dział Aplikacji Tomasz Nowak Zespół Bezpieczeństwa Wrocław, 2.12.2010 r. Konferencja i3: internet
Bardziej szczegółowoĆ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.
Bardziej szczegółowoNowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)
Nowe mechanizmy w wersji 3 Java Card Mateusz LESZEK (138775) Plan prezentacji 1. Java Card 3 2. Nowe mechanizmy w Java Card 3.X 3. Edycje Java Card 3.X Classic vs Connected Karty inteligentne wprowadzone
Bardziej szczegółowoAplikacje 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ółowoOpenLaszlo. 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
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoProgramowanie 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ółowoWzorce projektowe warstwy aplikacji
Rozproszonych Wzorce projektowe warstwy aplikacji qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl 1 Wzorce projektowe warstwy aplikacji Front Controller Zapewnia wspólny punkt obsługi Ŝąda dań dla komponentów
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoEnterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.
1 Enterprise JavaBeans 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss. 2 Enterprise JavaBeans Enterprise JavaBeans (EJB) to specyfikacja
Bardziej szczegółowoJava i XML. Wydanie III
Java i XML. Wydanie III Autorzy: Brett D. McLaughlin, Justin Edelson T³umaczenie: ukasz Piwko ISBN: 978-83-246-1011-2 Tytu³ orygina³u: Java and XML (3rd edition) Format: B5, stron: 440 Wydawnictwo Helion
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoJava. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ
Procesy i wątki Proces posiada samodzielne środowisko wykonawcze. Proces posiada własny zestaw podstawowych zasobów w czasie wykonywania; W szczególności, każdy proces ma własną przestrzeń pamięci. W uproszczeniu
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa
Bardziej szczegółowoProgramowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Bardziej szczegółowoBudowa 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ółowoTworzenie aplikacji J2EE w technologii Struts
173 Tworzenie aplikacji J2EE w technologii Struts Plan prezentacji 174 Architektura MVC Wprowadzenie do Apache Struts Sterowanie w Apache Struts Komponenty Form Bean Zaawansowane elementy Struts Architektura
Bardziej szczegółowoRemote Method Invocation 17 listopada 2010
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoEnterprise 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ółowoKomunikator internetowy w C#
PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej
Bardziej szczegółowoSposoby 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ółowoProgramowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy
Bardziej szczegółowoJava Enterprise Edition spotkanie nr 4. Java Server Pages c.d.
Java Enterprise Edition spotkanie nr 4 Java Server Pages c.d. 1 Opracował Jacek Sroka Implict variables & objects application javax.servlet.servletcontext np. application.log() lub getrealpath("/web-inf/licznik.txt")
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoJava jako j zyk programowania serwerów WWW / aplikacji Webowych servlety
Java jako j zyk programowania serwerów WWW / aplikacji Webowych servlety Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 25.05.2017 Java Servlet Technologia
Bardziej szczegółowo5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86
Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły
Bardziej szczegółowoINTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII
Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości
Bardziej szczegółowoPrzykł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ółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Bardziej szczegółowoJ2EE wzorce projektowe. Alicja Truszkowska
J2EE wzorce projektowe Alicja Truszkowska Motywacja Znaczące miejsce J2EE pośród systemów biznesowych Bogactwo narzędzi i technologii Dobre praktyki projektowania aplikacji Każde, nawet najdoskonalsze
Bardziej szczegółowoZaawansowane 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ółowoRemote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoZaawansowane 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ółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Bardziej szczegółowoAplikacje 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ółowoSerwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat Ćwiczenie 1 Proszę napisać aplikację wykorzystującą serwlety i bazy danych, która umożliwi wyszukiwanie tytułów książek po nazwisku autora oraz autorów po tytule książki. Ćwiczenie
Bardziej szczegółowo