In»ynieria systemów informacyjnych - Adam Krechowicz

Podobne dokumenty
Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.

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

Serwery aplikacji. dr Radosław Matusik. radmat

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

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

Piotr Laskowski Krzysztof Stefański. Java Servlets

Architektury Usług Internetowych. Laboratorium 1. Servlety

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

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

Java wybrane technologie spotkanie nr 3. Serwlety

Java EE: Serwlety i filtry serwletów

prepared by: Programowanie WWW Servlety

Architektury Usług Internetowych. Laboratorium 1 Servlety

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

JavaServer Pages. Konrad Kurdej Karol Strzelecki

Aplikacje internetowe i rozproszone - laboratorium

Java Database Connectivity

Tworzenie usług internetowych. Servlety cz. 1

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

Programowanie w języku Java

1 Wprowadzenie do J2EE

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

Zaawansowane aplikacje internetowe laboratorium

Java jako j zyk programowania serwerów WWW / aplikacji Webowych servlety

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

Aplikacje WWW - laboratorium


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

Serwlety i JSP na platformie Java EE. Damian Makarow

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

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

JAVA : APLIKACJE WEBOWE I JAVA EE WPROWADZENIE

Java wybrane technologie spotkanie nr 5. Java Server Pages

TIN Techniki Internetowe Lato 2005

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

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

Aplikacje WWW - laboratorium

mgr inż. Michał Paluch

Wprowadzenie do J2EE. Maciej Zakrzewicz.

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

Przegląd technologii JSP

Serwery aplikacji. dr Radosław Matusik. radmat

Testowanie aplikacji Java Servlets

Aplikacje WWW. Wykład 5. Logika prezentacji - część I. wykład prowadzi: Maciej Zakrzewicz. Logika prezentacji I

Podstawowe wykorzystanie Hibernate

Java w Internecie - czy to ma sens? ;)

Wybrane działy Informatyki Stosowanej

Wzorce prezentacji internetowych

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

Tworzenie aplikacji webowych w oparciu o framework ObjectLedge

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

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

Enterprise JavaBeans (EJB)

prepared by: Programowanie WWW Model-View-Controller

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium

Aktywne i dynamiczne strony WWW. Elementy projektowania stron WWW. Część 3. Formularze HTML przykład. Formularze HTML. dr inŝ.

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Java Enterprise Edition spotkanie nr 4. Java Server Pages c.d.

Analiza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle

2 Przykªad strony JSP. 3 Elementy dokumentu JSP

J2EE wzorce projektowe. Alicja Truszkowska

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

Analiza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle

Aplikacje WWW - laboratorium

Tworzenie i wykorzystanie usług

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

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach

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

Java rozszerzenie. dr. A. Dawid

Serwery aplikacji. dr Radosław Matusik. radmat

Kurs WWW 1. Paweł Rajba

Projektowanie aplikacji J2EE w architekturze Model-View-Controller

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Architektura Model-View-Controller

Java EE 6. Programowanie aplikacji WWW. Krzysztof Rychlicki-Kicior. Ju dzi si gn po jedyne kompendium wiedzy na temat Java EE!

1 Intefejsy graczne. 1.1 Okienka. 1.2 Komponenty

Zaawansowane aplikacje internetowe - laboratorium Architektura Spring.

Komunikacja między serwletami

Wicket. Wstęp. Zalety Wicketa

CGI, serwlety Java i szablony JSP. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

Platformy Programistyczne Zagadnienia sieciowe i wątki

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Nowe mechanizmy w wersji 3 Java Card. Mateusz LESZEK (138775)

1) Przygotowanie środowiska pracy.

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

SOAP. Autor: Piotr Sobczak

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

Inynieria oprogramowania Lecture XXX. Java TM cz IV: IO. Bartosz Walter

Wzorce projektowe warstwy aplikacji

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

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Java Platform Micro Edition

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

Gatesms.eu Mobilne Rozwiązania dla biznesu

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium

Czym są serwlety Java? Serwlety Java. Zalety serwletów Java (w porównaniu z CGI)

Transkrypt:

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 w technologii Java. Serwlety s technologi le» c u podstaw frameworków sªu» cych do tworzenia stron jak JSP, JSF i innych. 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 Start extends HttpServlet { @Override protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=utf 8"); PrintWriter out = response.getwriter(); try { out.println("<?xml version='1.0' encoding='iso 8859 2'?>"); out.println("<!doctype HTML PUBLIC ' //W3C//DTD HTML 4.01//EN'"); out.println(" 'http://www.w3.org/tr/html4/strict.dtd'>"); out.println("<html><head><title>tytul</title></head>"); out.println("<body>"); out.println("<p>abc</p>"); out.println("</body>"); out.println("</html>"); nally { out.close(); Powy»szy przykªad generuje dynamiczn stron HTML metoda doget realizuje zapytanie HTTP otrzymane za pomoc zapytania GET alternatywnie metoda dopost pozwala na realizowanie zapytania POST 1

1.2 Parametry HTTP W celu obsªu»enia parametrów podanych w zapytaniu HTTP (np. adres?parametr1=abcdef) wykorzystujemy obiekt request String s = request.getparameter("parametr1"); out.println(s); 1.3 Generowanie innej zawarto±ci Tworzenie stron internetowych przy pomocy serwletów jest zadaniem niewygodnym i wymagaj cym du»ego nakªadu pracy. Dlatego zamiast pisa strony przy pomocy serwletów stosuje si frameworki pozwalaj ce na uªatwienie pracy. Serwlety mog jednak by bardzo u»yteczne podczas generowania innej zawarto±ci. package isi; import java.awt.color; import java.awt.graphics; import java.awt.image.bufferedimage; import java.io.fileinputstream; import java.io.ioexception; import java.io.outputstream; import java.io.printwriter; import javax.imageio.imageio; import javax.servlet. ; import javax.servlet.http. ; public class Image extends HttpServlet { public void init(servletconfig config) throws ServletException { super.init(config); public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("image/png"); OutputStream out = response.getoutputstream(); BufferedImage bufferedimage = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB); Graphics g = bufferedimage.getgraphics(); g.setcolor(color.white); g.fillrect(0, 0, 200, 200); g.setcolor(color.black); g.drawoval(10, 10, 180, 180); g.filloval(40, 50, 20, 20); g.filloval(140, 50, 20, 20); g.drawarc(30, 30, 140, 140, 180, 180); 2

ImageIO.write(bufferedImage, "png", out); out.close(); 2 Cookies Ciasteczka pozwalaj na zapisywanie niewielkich porcji infromacji po stronie klienta wykorzystywanych w aplikacjach webowych. Za obsªug ciasteczek odpowiada klasa javax.servlet.http.cookie 2.1 Tworzenie ciasteczek Utworzenie ciasteczka wymaga podania jego nazwy i warto±ci jak posiada Cookie c = new Cookie("abc", "abc"); Wysªanie ciasteczka zostanie zrealizowane podczas dodania response.addcookie(c); Ciasteczko zostanie stworzone w przegl darce 2.2 Odczytywanie ciasteczek Stworzone po stronie ciasteczka s dost pne za pomoca metody getcookies() obiektu request Cookie[] c = request.getcookies(); Zwrócona tablica ciasteczek mo»e nast pnie zosta przeszukana pod wzgl dem szukanej nazwy. 2.3 Metody ciasteczek getname(), setname() pobranie i ustawienie nazwy ciasteczka, getvalue(), setvalue() pobranie i ustawienie warto±ci ciasteczka, getmaxage(), setmaxage() pobranie i ustawienie czasu»ycia ciasteczka, getpath(), setpath() pobranie i ustawienie lokalizacji ciasteczka, 3

getcomment(), setcomment() pobranie i ustawienie opisu ciasteczka. 3 Sesje Sesja sªu»y zapisywaniu informacji o poszczególnych klientach odwiedzaj - cych stron. Informacje te zapisywane sa na serwerze i identykowane s przez odpowiednie ciasteczko wysyªane przez klienta. Za obsªug sieci odpowiedziale s obiekty relizuj ce HttpSession. Dost p do obiektu sesji ze strony JSP realizowany jest przez automatyczny obiekt session. W celu uzyskania obiektu sesji z serwletu nale»y posªu»y si odpowiedni metod obiektu klasy request. HttpSession session = request.getsession(); W celu zapisania w sesji informacji wykorzystywana jest metoda setattribute session.setattribute("nazwa", "wartosc"); Odczytanie danych z sesji realizowane jest przez metod getattribute out.println(session.getattribute("nazwa")); Inne przydatne metody HttpSession: getattributenames() metoda pozwala na zwrócenie wszystkich nazw obiektów przechowywaneych w sesji getid() metoda zwraca identykator sesji dla odpowiedniego klienta getcreationtime() zwraca czas utworzenia sesji getlastaccesedtime() zwraca czas kiedy klient ostatnio odwoªywaª si do sesji getmaxinactivetime() zwraca czas po jakim sesja zostanie usunieta setmaxinactivetime() ustawia czas po jakim sesja zostanie usunieta invalidate() usuwa wszystkie dane sesji isnew() czy sesja byªa ju» uzywana removeattribute() usuwa podany atrybut z sesji 4

4 Tworzenie serwletów 4.1 Serwlety w ±rodowisku eclipse 1. ci gn kontener Apache Tomcat 2. Upewni si,»e w eclipse zainstalowane s dodatki WTP Web Tools Platform 3. Nale»y utworzy nowy projekt Dynamic Web Project 4. Nast pnie nale»y wybra ±rodowisko uruchomieniowe Apache Tomcat 5. Je±li brak ±rodowiska nale»y je utowrzy podaj c lokalizacj ±ci gni tego kontenera Apache Tomcat 6. Dodajemy nowy serwlet z opcji New 7. Przyciskiem run uruchamiamy ±rodowisko 8. stworzony serwlet dost pny jest pod adresem http://localhost:8080/nazwa projektu/nazwa serwletu 5 Zadania do wykonania 1. Stworzy dynamiczn stron za pomoc serwletu 2. Wy±wietli na stronie parametry podane w URL (np. http://localhost:8080/webapplication1/nazwaserwletu?a=hello&b=world) 3. Przetestowa wywaªanie POST 4. Stworzy serwlet realizuj cy zadan funkcj 5. Stworzy serwlet generuj cy wykres zadanej funkcji 6. Zapisa i odczyta warto±ci za pomoc ciasteczek 7. Zapisa i odczyta warto±ci za pomoc sesji 5