mgr inż. Michał Paluch

Podobne dokumenty

Serwlety i JSP na platformie Java EE. Damian Makarow

Kurs WWW 1. Paweł Rajba

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

Serwery aplikacji. dr Radosław Matusik. radmat

1 Wprowadzenie do J2EE

Wybrane działy Informatyki Stosowanej

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

Programowanie w Internecie

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

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

Java wybrane technologie spotkanie nr 5. Java Server Pages

Aplikacje Internetowe, Servlety, JSP i JDBC

Technologie internetowe

Języki programowania wysokiego poziomu WWW

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

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

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

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

Serwery aplikacji. dr Radosław Matusik. radmat

Logika prezentacji III

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Aplikacje WWW Wprowadzenie

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

Wybrane działy Informatyki Stosowanej

Wzorce prezentacji internetowych

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Serwery aplikacji. dr Radosław Matusik. radmat

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

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

prepared by: Programowanie WWW Servlety

Aplikacje WWW - laboratorium

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

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

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

Wybrane działy Informatyki Stosowanej

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


Architektury Usług Internetowych. Laboratorium 1. Servlety

Programowanie współbieżne i rozproszone

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Java wybrane technologie spotkanie nr 3. Serwlety

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

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Podręcznik Integracji

Enterprise JavaBeans (EJB)

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

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

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Java Servlet i Java Server Pages

Programowanie Komponentowe WebAPI

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Gatesms.eu Mobilne Rozwiązania dla biznesu

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

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

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

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

prepared by: Programowanie WWW Model-View-Controller

JavaServer Pages. Konrad Kurdej Karol Strzelecki

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

TIN Techniki Internetowe zima

Plan. Stan sesji (1/2) Stan sesji (2/2) Stan sesji Tworzenie przycisku Integracja prostego formularza z raportem Tworzenie formularza z raportem

PHP: bloki kodu, tablice, obiekty i formularze

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

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

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Ministerstwo Finansów

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

2 Przykªad strony JSP. 3 Elementy dokumentu JSP

Wprowadzenie do J2EE. Maciej Zakrzewicz.

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Architektury Usług Internetowych. Laboratorium 1 Servlety

Dokumentacja Techniczna. Dokumentacja techniczna usługi płatności mobilnych

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

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

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

Ogólnopolskie Repozytorium Prac Dyplomowych

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Sprawozdanie nr 4. Ewa Wojtanowska

Testowanie aplikacji Java Servlets

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

1. Protokoły. Co programy wykorzystują do komunikacji przez sieć? wykorzystują protokoły komunikacyjne

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

Tworzenie i wykorzystanie usług

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Aplikacje internetowe i rozproszone - laboratorium

Zagadnienia projektowania aplikacji J2EE

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

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

Transkrypt:

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 HTTP Interakcja z użytkownikiem Pobieranie i prezentacja interfejsu użytkownika Interakcje z użytkownikiem Buforowanie odpowiedzi Weryfikacja certyfikatów

Zadania serwera HTTP Uwierzytelnianie Kontrola dostępu Rejestracja i obsługa żądań Bezpieczeństwo

Rodzaje żądań protokołu HTTP GET metoda, której podstawowym zadaniem jest żądanie od serwera dostarczenia określonych zasobów i odesłanie przeglądarce. POST metoda umożliwiająca żądanie od serwera określonych zasobów oraz przekazywanie danych z np. formularza Pozostałe metody obsługiwane przez serwlety: HEAD, TRACE, PUT, DELETE, OPTIONS, CONNECT

Anatomia żądania GET

Anatomia żądania POST

Anatomia odpowiedzi protokołu HTTP

Najczęściej spotykane kody odpowiedzi protokołu HTTP Kody informacyjne 110 Connection Timed Out 111 Connection refused Kody powodzenia 200 OK 201 Created 202 Accepted Kody przekierowania 301 - Moved Permanently 302 Found

Najczęściej spotykane kody odpowiedzi protokołu HTTP Kody błędu aplikacji klienta 400 Bad Request 401 - Unauthorized 403 - Forbidden 404 Not Found Kody błędu wewnętrznego 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable

Podstawowe informacje o portach Port to 16 bitowa liczba, która identyfikuje konkretne oprogramowanie działające na serwerze. Na każdym serwerze jest 65536 portów, numerowanych w zakresie 0 65535 Porty TCP z przedziału 0-1023 są zarezerwowane i nie można do nich przypisać żadnej swojej aplikacji.

Najpopularniejsze numery portów 21 FTP 23 TELNET 25 SMTP 37 TIME 80 HTTP 110 POP3 443 HTTPS

Strony statyczne i dynamiczne Strony statyczne są niezmienne, tzn. do czasu ręcznego wprowadzenia zmian, żadna aplikacja znajdująca się na serwerze nie może zmienić ich treści (gotowe do pobrania z serwera). Strony dynamiczne, zawierają znaczniki i odwołania do treści publikowanych w oddzielnej aplikacji (np. CMS). Służą do dynamicznego wprowadzania zmian na stronie (generowane dynamicznie na żądanie)

Struktura pliku HTML

Common Gateway Interface Specyfikacja programów w dowolnym języku programowania, które jako swoje wyjście wytwarzają dokumenty (np. XML lub HTML).

Co to jest Serwlet? Klasa Javy po stronie serwera HTTP rozszerzająca możliwości serwera; Rozbudowana wersja aplikacji CGI (ciasteczka, utrzymywanie sesji, wspólne zasoby serwletów, obsługa wszystkich metod protokołu HTTP); Aplikacja komunikująca się z przeglądarką wyłącznie za pomocą protokołu HTTP.

SERWLETY Aplikacje po stronie serwera HTTP, służące do obsługi żądań oraz automatycznego generowania dokumentów (np. XML, HTML).

Struktura Serwletu Klasa dziedzicząca z HttpServlet Implementacja co najmniej jednej z metod: doget() dopost() init() destroy()

Przykład 1

Cykl życia Serwletu Przeglądarka wysyła żądanie do serwera HTTP. Żądanie jest przekierowywane do serwera aplikacji Java EE. Serwer aplikacji analizuje adres URL żądania HTTP, następnie pobiera klasę wskazanego serwletu i tworzy jej obiekt (tzw. obiekt serwletu). Wywoływana jest metoda init() obiektu serwletu. Wywoływana jest metoda doget() obiektu serwletu. Dokument będący Wynikiem działania powyższej metody jest dokument, przekazywany do klienta HTTP. Po przesłaniu odpowiedzi, obsługa żądania zostaje zakończona.

Metody HttpServletRequest String getmethod() Cookie[] getcookies() HttpSession getsession() String getremoteuser() String getheader(n) String getparameter(n)

Przykład 2

Przykład 3

Metody HttpServletResponse getoutputstream() flushbuffer() addcookie(ciastko) setheader(nazwa,wartość) addheader(nazwa,wartość) senderror(numer) sendredirect(url)

Obsługa Cookies Są reprezentowane w postaci klasy Cookie Są przechowywane w każdej przeglądarce. Umożliwiają zapamiętywanie loginów, haseł czy preferencji. Cookies są wysyłane do klienta HTTP przy pomocy metody: addcookies(), obiektu response. Natomiast do odczytu danych odebranych z żądania służy metoda getcookies() obiektu request

Wysyłanie zmiennych w Cookies

HTTPSession Serwer HTTP nie potrafi rozpoznać czy określone żądania HTTP pochodzą od tego samego użytkownika końcowego. Każda sesja otrzymuje identyfikator Stan sesji przechowywany przez serwer aplikacji Stan sesji usuwany po wygaśnięciu czasu ważności Tablica sesji na serwerze aplikacyjnym

Java Server Pages Podstawowe narzędzie tworzenia warstwy prezentacji w JEE Umożliwia połączenie dynamicznego kodu napisanego w Javie ze statycznymi dokumentami np. HTML Jest powszechnie obsługiwana (nie narzuca systemu operacyjnego czy serwera WWW) Umożliwia pełny dostęp do technologii serwletów

Schemat działania JSP

Cykl życia JSP

Struktura dokumentu JSP

Typy elementów skryptowych JSP Umożliwiają wstawianie kodu Javy do serwletów, generowanych na podstawie stron JSP. Należą do nich: Wyrażenia postaci: <%= test1 %>; Ich wykonania zostają wstawione do kodu generowanego przez serwlet. Skryptlety postaci: <% kod javy %>; Są wstawiane do metody _jspservice serwletu (wywoływanej przez metodę service) Deklaracje: <%! Deklaracja metody lub pola %>; Wstawiane są do treści klasy serwletu, poza metodami

Wyrażenia Wartość wyrażenia jest konwertowana do łańcucha znaków i załączana do wynikowego kodu HTML lub XML Wyrażenia są to znaczniki XML umożliwiające wartościowanie danego wyrażenia Wprowadzenie wyrażeń odbywa się przez znaczniki <%= %> Np. <ul><li>bieżący czas: <%= new java.util.date() %></li></ul>

Skryptlety Są to znaczniki XML, które umożliwiają osadzanie kodu Java w pliku JSP Mogą generować kod HTML lub XML za pomocą predefiniowanego obiektu out Są wprowadzane przez znaczniki <% %> Np. <% Calendar dzis = new GregorianCalendar(); int godzina = dzis.get(calendar.hour_of_day); out.println("<b>aktualnie jest godzina: " + godzina + "</B>"); %>

Deklaracje Umożliwiają deklarowanie metod i składowych serwletu wynikowego Można inicjalizować w nich zmienne. Są wprowadzane przez znaczniki <%! %> Np. <body> <%! int licznik = 4; %> <%! int wynikmnozenia() { return licznik*licznik; } %> <%= wynikmnozenia()%> </body>

Dyrektywy Ich głównym zadaniem jest kontrola sposobu translacji JSP do serwletu <%@ include %>: włączenie zewnętrznego pliku <%@ page %>: ustawienia strony import, contenttype, errorpage, iserrorpage, info, buffer, session, autoflush, extends, isthreadsafe, <%@ taglib %>: wskazanie na bibliotekę znaczników prefix, uri

Znaczniki JSP Są to znaczniki XML, które mogą wywołać akcje serwera aplikaxcji. Dostępne są następujące akcje <jsp:include>: służą do włączania zewnętrznego kodu <jsp:plugin>: obsługa apletów Java <jsp:fallback>: w sytuacji gdy klient nie obsługuje apletów <jsp:forward>: przekazują sterowanie <jsp:param>: zdefiniowanie parametru oraz znaczniki do obsługi komponentów JavaBean

Obiekty predefiniowane JSP dostarcza duży zestaw obiektów predefiniowanych. Zaliczyć do nich można: application: kontekst aplikacji pagecontext: kontekst strony wraz ze zmiennymi out: strumień stanowiący odpowiedź dla klienta HTTP page: serwlet wynikowy dla dokumentu JSP config: dostęp do parametrów inicjalizacyjnych request: żądanie otrzymane od klienta HTTP response: odpowiedź wysłana klientowi HTTP session: sesja HTTP

Obsługa wyjątków Strona obsługująca wyjątki jest wskazywana przez dyrektywę <%@ page errorpage="errorhandler.jsp" %> Jednocześnie musi zawierać dyrektywę <%@ page iserrorpage="true" %> Dostęp do wyjątku odbywa się poprzez obiekt exception Wyjątek JspException

Język wyrażeń EL Rozbduowana i spowalniająca pracę składnia wyrażeń JSP <tag attribute="<%= request.getattribute( miasto") %>"> Język wyrażeń (JSP Expression Language, JSP EL) uproszczenie kodu: <tag attribute="${miasto}"> Opcjonalne tagi: <%@ page iselignored="true" %> Zwięskzonalista obiektów predefiniowanych tablice, mapy, listy, własności ewaluacja wyrażeń oraz warunków logicznych

Wyrażenia JSP EL Mogą się znaleźć w statycznym tekście, atrybucie znacznika standardowego lub znacznika, zdefiniowanego przez użytkownika. Notacja wyrażeń jest następująca: ${zmienna.pole} Automatyczna konwersja typu wynikowego do oczekiwanego.

JSP EL Przykład Wyklad1.jsp Pierwszy.java (serwlet)

MATERIAŁY http://docs.oracle.com/javaee/6/tutorial/d oc/bnafd.html http://www.oracle.com/technetwork/java/ javaee/jsp/index.html

Dziękuję za uwagę