Internet (słowo pisane wielką literą jako nazwa własna!) to globalna sieć komputerowa korzystająca ze stosu protokołów TCP/IP.

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

Download "Internet (słowo pisane wielką literą jako nazwa własna!) to globalna sieć komputerowa korzystająca ze stosu protokołów TCP/IP."

Transkrypt

1 Internet (słowo pisane wielką literą jako nazwa własna!) to globalna sieć komputerowa korzystająca ze stosu protokołów TCP/IP. protokół komunikacyjny zestawy ustalonych reguł dotyczących komunikacji HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol ) POP3 (Post Office Protocol v 3) Model OSI, kolejne warstwy: [APSTSŁF] [ATID] Aplikacji, Prezentacji, Sesji, Transportowa[TCP/IP], Sieciowa[IP], Łącza danych, Fizyczna Aplikacji, Transportowa[TCP/IP], Internetu[IP], Dostępu do sieci RIA (Rich Intermet Application) HTTP po co komunikacja między przeglądarką a serwerem WWW, celem jest udostępnianie funkcjonalności aplikacji znajdującej na serwerze, oraz komunikacja między fragmentami oprogramowania po stronie serwera Protokół IP warstwa sieciowa/internetu odpowiada za za stworzenie (znalezienie) pojedynczego kanału komunikacyjnego z połączeń miedzy hostami i routerami, dla każdego pakietu danych i dostarczenie go. IP nie gwarantuje dostarczenia pakietu to protokół "best effort" może zduplikować, zgubić, dostarczyć dane w zmienionej kolejności. IP jest protokołem 'host to host' TCP i UDP pozwalają na adresowanie na portach, do identyfikacji aplikacji na hoście. Są to protokoły 'end to end', przenoszą dane od programu do programu TCP implementuje mechanizmy wykrywania zgubionych pakietów i duplikacji pakietów (i innych błędów) dlatego o połączeniu TCP mówimy ze jest niezawodne (ang reliable). UDP jest przeniesieniem IP na 'end to end. Programista chcący korzystać z UDP musi liczyć się z duplikacją, stratami pakietów informacji, zmianą kolejności,udp jest protokołem best effort. IPv4 2^5 = 32 bity, 4 grupy po 8 bitów [1 Bajt], zapis dziesiętny oddzielany. IPv6 2^7 = 128 bitów, 8 grup po 16 bitów [2 Bajty], zapis szesnastkowy oddzielany : loopback: adres & 0:0:0:0:0:0:0:1 DNS (Domain Name Server) serwer tłumaczący (resolve) nazwy na adresy IP Port to 16 bitowa [2 Bajtowa] liczba binarna, bez znaku, z zakresu 1 do (0 jest zarezerwowane na broadcast). Osobno dla TCP i UDP.

2 IANA (Internet Assigned Number Authority) przydziela porty do protokołów 20 FTP, 21 FTP, 22 SSH, 80 HTTP Socket to abstrakcja przez którą aplikacja może komunikować się z siecią Sockety strumieniowe (ang. stream sockets) TCP. Sockety datagramowe (ang. datagram sockets) UDP. Socket jest jednoznacznie identyfikowany przez adres IP, protokół end to end (TCP/UDP) i port HTTP (request response) urzywa obu typów framingu, delimiter based i explicit length request od klienta składa się z linii żądania zakończonej CRLF dowolnej ilości nagłówków, z których każdy jest zakończony CRLF pustej linii CRLF (czasem tu jest koniec żądania, ale może ono także zawierać treść), ewentualnie treści wtedy jej długość w bajtach musi być dodatkowo podananp w nagłówku Content length. Pipeline Klient może tym samym połączeniem wysłać kilka żądań nie czekając na odpowiedź. Serwer wówczas musi wysyłać odpowiedzi w takiej samej kolejności w jakiej przyszły żądania response od serwera składa się z linii żądania zakończonej CRLF dowolnej ilości nagłówków, z których każdy jest zakończony CRLF pustej linii CRLF (czasem tu jest koniec żądania, ale może ono także zawierać treść), ewentualnie (częściej niż u klienta) treści tu znów długość w Content length lub Close(); Serwer iteracyjny serwer obsługuje jednego klienta, reszta czeka na zaakceptowanie połączeń Serwer współbieżny każdy klient ma swój wątek który go obsługuje strategie: client per thread nowy klient = nowy wątek thread pool pula wądków do wykorzystania na klientów, recykling wątków JDBC Java DataBase Connectivity Typ 1: JDBC ODBC bridge + Nie wymaga sterownika od producenta bazy Wolne (dodatkowa warstwa) i wymaga oprogramowania po stronie klienta. Nie wspierane. Głównie pod Windows. Nie można korzystać wielowątkowo Typ 2: wywołania natywne sterownika + Kod natywny zoptymalizowany (szybsze) Wymagana dodatkowa biblioteka nie w Javie po stronie klienta (np dll pod Windows) Typ 3: sterownik implementuje API używane przez dodatkową (odpowiednią!) aplikacje middleware, która pośredniczy pomiędzy naszą aplikacją a bazą danych + Warstwa izolacji, 100% Java

3 Wymagane oprogramowanie middleware, dodatkowa warstwa Typ 4: sterownik dla Javy implementuje API używane przez serwer bazy danych + 100% Java, nie wymaga żadnego dodatkowego oprogramowania DriverManager Klasa do zarządzania sterownikami. Aby łączyć się z bazą trzeba w niej zarejestrować nasz sterownik Sposób 1 DriverManager.registerDriver(Driver drivername); Sposób 2 Class.forName(String drivername) [.newinstance() ] ; // [ opcjonalne ] Sposób 3 D:>java Djdbc.drivers=com.mysql.jdbc.Driver MyJDBCProg DataSource reprezentuje pulę połączeń do zastosowania w aplikacjach wielowątkowych, jeśli robimy aplikację standalone to musimy skorzystać z dodatkowej biblioteki do pul Connection tworzy Statement kture zwraca ResultSet nadal powiązane z Connection Connection tworzy PreparedStatement i podobnie DAO Data Access Object wzorzec projektowy, jest to fasada dla skomplikowanego API jakim jest JDBC. Typowo tworzy się po klasie DAO dla każdej z tabel LittleEndian od tyłu, od młodszego bitu, od mniej znaczącego bitu BigEndian od przodu, od starszego bitu, od bardziej znaczącego bitu URI/URL znaki niezarezerwowane : A Z a z 0 9 _. ~ URI/URL znaki zarezerwowane :! * ( ) ; & = + $, /? % # [ ] URL Encoding kodowanie znaków zarezerwowanych i znaków spoza tąd %XX gdzie XX szesnastkowy kod ASCII znaku URL Encoding stosuj do: URL, wartości w Cokie, wartości w nagłówkach HTTP Eskejpowanie znaków [ ≶ ' itp] stosuj do generowanych zawartości nie dla przeglądarki HTTP jest bezstanowy, co znaczy, że serwer nie jest w stanie bez dodatkowej informacji, zawartej w żądaniu, stwierdzić że poszczególne żądania należą do danej konwersacji między klientem a serwerem URI Uniform Resource Identifier krutka sekwencja znaków jednoznacznie identyfikująca zasób istniejący lub nie budowa SHEMAT:reszta, sheat może zawężać reguły URI ale NIE im zaprzeczać czy rozszerzać, shemat to często nazwa protokołu URL [L locator] podaje sposób na znalezienie zasobu w sieci URN [N Name] globalnie unikatowy i trwały, powiązany na stałe z konkretnym zasobem (niezależnie od tego gdzie w sieci ten zasób jest), URN może się zaczynać od urn:namespaceid:, ale URNem może być także inny URI mający cech URNa operazje na URI/URL Resolution (określenie) określenie sposobu dostępu do zasobu na podstawie URI/URL

4 (np. java:, rmi:) Dereferencing (wyłuskanie) wykorzystanie mechanizmu dostępu do zasobu Retrieval (pobranie) najczęstszy sposób wyłuskania URI inne np usunięcie URI shemat:[//authority[/]]path [?query][#fragment] przykład foo://example.com:880/over/there?name=ferret#nose shemat (a za Z0 9+.) pierwszy znak to litera authority path (a za Z0 9=;) [.] [..], authority[/path] lub shemat:path, kolejne części path oddzielane / query [?dużo_może] fragment [#dużo_może] Tunnel punkt transferowy bez modyfikacji komunikatu, bez cashe owania (tunel nie zna się na protokole http). Proxy forwarduje żądanie na url podany w nim, przepisując je w całości lub częściowo, może cashe ować Gateway to warstwa, która może tłumaczyć komunikaty na inny protokół, może cashe ować http_url Nagłówki HTTP, co mogą zawierać: znacznik czasu, info o kodowaniu, info o kompresji / podziale na części, typy MIME, produkt, waga, język, entity tag 8 metod HTTP do wsadzenia w nagłuwek http_request options, get, head, post, put, delete, trace, connect nagłówki HTTP general header, request header, entity header i w huj możliwych wartości dla każdego z nich linia statusu w http_response zawiera 3 cyfrowe czasem błędy 1xx info 2xx sukces 3xx przekierowanie 4xx klient error 5xx serwer error 1xx info 100 Continue 101 Switching protocols 102 Processing 2xx sukces 200 OK 201 Created [odo na PUT] 202 Accpepted

5 203 Non Authoritative Information [inna wersja zasobu (więcej/mniej) zamiast oryginału) 204 No Content 205 Refresh your Content 206 Partial Content 230 Authentication Successful 3xx przekierowanie 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified urzywaj zasobu z cache 305 Use Proxy 306 Switch Proxy 307 Temporary Redirect 308 Permanent Redirect 4xx klient error 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable unable to respond in expected way 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Resource Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request URI Too Long 415 Unsupported Media [MIME] Type 416 Requested Range Not Satisfiable błędne wartości RANGE 417 Expectation Failed 5xx serwer error 500 Internal Server Error 501 Not Implemented 502 Bad Gateway error recived by gateway 503 Service Unavailable / unreachable 504 Gateway Timeout 505 HTTP Version Not Supported

6 Bezpieczne (ang safe) nie modyfikują nic na serwerze. GET, HEAD, OPTIONS, TRACE. (GET nie musi ale powinno) Idempotentne takie dla których wykonanie N>0 identycznych żądań będzie miało taki sam efekt jak wykonanie jednego żądania. GET, HEAD, PUT, DELETE, OPTIONS, TRACE [, POST] OPTIONS Pytanie o opcje komunikacji dla hosta lub zasobu (np. dozwolone metody czy operacje) GET Metoda służąca do pobierania zasobu, jeśli rządanie ma nagłówek If XXX to warunkowy GET (oznacza to, że przeglądarka ma zasób w cache i jest gotowa go wykorzystać) HEAD jest takie same jak GET, ale klient nie oczekuje zawartości odpowiedzi, chce przetwarzać tylko nagłówki POST Prośba o zaakceptowanie danych będących treścią żądania, POST nigdy nie jest idempotentne ani bezpieczne tu URI to zasób przetwarzający żądanie PUT Prośba o zapamiętanie zasobu i skojarzenie go z URLem podanym w żądaniu tu PUT to URI które ma identyfikować zasób właśnie przesyłany DELETE Prośna o usunięcie zasobu TRACE Odpowiedzią jest echo żądania. W nagłówku Via jest łańcuch proxy przez które żądanie szło CONNECT Prośba do o połączenie się z innym hostem i odgrywanie roli tunelu. HTML HyperText Markup Language MIME Multipurpose Internet Mail Extension Typy MIME w nagłówku Content Type: html, xhtml, image, pdf, flash, audio, windows media DTD (Document Type Definition) zestaw reguł do walidacji dokumentu, są 3 wersje dla html 4 (HTML 5 NIE ma wersji) Strict nie zezwala na elementy i atrybuty ze starszych wersji Transitional zawiera wszystkie elementy i atrybuty ze starszych wersji Frameset dla struktury dokumentu opartej na ramkach zasady XHTML 1 tagi i atrybuty małymi literami 2 wszystkie elementy muszą być zakończone, w tym znaczniki puste (<br />) 3 atrybuty w cudzysłowach / apostrofach 4 każdy atrybut musi mieć nazwę i wartość (nazwa= wartość ) 5 bardziej surowe zasady zagnieżdżania (<a><a>, <form><form> nie są dozwolone) 6 Znaki < > & muszą być eskejpowane (< > & &apos; ") nawet jeśli są w atrybutach 7 do identyfikacji <a> <form> <img> <map> (i kilku innych) używa się id= a nie name= HTML bardziej zwięzły i mniej rygorystyczny

7 XHTML bardziej przenośny i łatwiej parsowalny CSS (Cascading Style Sheets) Selektory #ID,.Class, p~a (wszystkie <a> na pierwszym poziomie (zagnieżdrzenia) od tagu <p>) Python interpretery: CPython, JPython, pypy war Web application ARchive taki JAR do przechowywania rużnych plików i zasobów składających się na aplikację webową jetty serwer start.ini tu możesz zmienić plik konfiguracyjny z domyślnie etc/jetty.xml na co chcesz jetty etc/xml plik konfiguracyjny, możesz zmienić port lib/* biblioteki javowe, też w podkatalogach connector akceptowanie połączeń http serwer serwer threadpool pula wądków zarządzana przez serwer handler obsługa rządań wrzucasz jar'y i war'y do folderu jetty'ego i działa :) np dla bazy danych, dla pól połączeń do bazy danych usługa nazwiednicza jndi widziane pod nazwą (przez aplikacje) "java:comp/env" do wiązania zasobów i wpisów środowiskowych chcesz urzyć wpis w etc/jetty.xml i w aplikacji wpis środowiskowy stała dla całego serwera typu prostego (int, long, short, double, float, string, char, bool, byte) jetty NIE ma pul połączeń na bazy danych, potrzebujesz dodatkowej biblioteki chcesz urzyć wpis w etc/jetty.xml i web.xml teraz trzeba korzystać z connection.close(), zwraca połączenie i wątek do ich pól trzeba (dla serwera startowanego z kodu) ręcznie w klasach robić całą konfigurację, albo wczytać ją z jetty.xml trzeba każdego war'a też dodać w kodzie i kurwa pamiętaj, żeby dodać biblioteki w netbeans'ie (w jettym w folderze LIB i podkatalogach) maven narzędzie do zarządzania projektami i bibliotekami (dla javy i nie tylko [?] ) zarządza zależnościami umie sam ściągnąć potrzebne nam biblioteki i sam je podpina gdzie

8 trzeba netbeans ma domyślnie maven'a, ale my go ściągamy i ustawiamy go w netbeansie TOOLS > OPTIONS > JAVA > MAVEN main/java/ klasy javy webapp/ wszystko co jeszcze ma być w WAR resources/ zasoby widoczne w testach ale nie umieszczane w WAR archetyp struktura projektu w mavenie szkielet projektu archetyp można zrobić z wiersza poleceń mvn archetype:generate buduj projekt mvn clean install w folderze głównym projektu odpal projekt mvn clean install, potem mvn exec:java tworzenie aplikacji webowej maven archetype webapp [zbudowanie tego tworzy WAR i wgrywa go do lokalnego repozytorium] buduj webapp mvn clean install całość odpalam przez mvn jetty:run pom.xml = makefile < warzne? jak tu zamiast maszyny wirtualnej wpiszę jetty'ego a do jetty;ego wgram WAR'a i jak jeszcze zależności poumieszczam w jetty.xml to się fajnie odpali? nosz kurwa, więcej ustawień niż kodzenia Pobranie zasobu push based Aplikacja wyciąga referencję do zasobu z usługi JNDI w kontenerze. Wymagany web.xml Pobranie zasobu pull based Kontener wpycha do obiektu serwletu referencję do zasobu. Nie wymagany wpis w web.xml (ani w ogóle plik web.xml). Możliwe tylko dla pola w klasie i tylko w instancji obiektu tworzonego przez kontener Stany sesji pamiętany przez klienta stan jego konwersacji z serwerem 1 klient pamięta cały stan, zawsze przesyła serwerowi cały / kawałek wada można oszukać 2 serwer pamięta cały stan, klient tylko ID, kture zawsze przesyła do serwera wada podatność na kradzież sesji są 3 techniki pamiętania stanu przepisywanie url limit to długość URL user przejdzie na inną stronę i wruci NIE przez wstecz = traci sesję pola hidden user przejdzie na inną stronę i wruci NIE przez wstecz = traci sesję pliki coockie można wyłączyć cookie w przeglądarce

9 servlet dziedziczy po HttpServlet ma metody doxxx [np dopost(...)] (wszystkie są protected, możesz zmienić na public gdy nadpisujesz) każda przyjmuje HttpServletRequest i HttpServletResponse, rzucają ServletException i IOException Kontekst zbiór obiektów i zasobów dostępnych dla aplikacji kontekst strony (węższy niż żądania), kontekst żądania (zasoby dostępne jedynie w trakcie obsługi jednego żądania), kontekst sesji (zasoby dostępne w trakcie całej sesji), kontekst aplikacji (zasoby dostępne dla całej aplikacji). Atrybuty żądania pary nazwa/wartość dowolne obiekty dodawane do kontekstu żądania cykl życia servletu Kontener tworzy serwlet przez newinstance() Kontener wywołuje metodę init(servletconfig config) [config zrobiony z web.xml, tej metody NIE nadpisujesz] Kontener wywołuje metodę init() [tą metodę nadpisujesz] Na każde żądanie do serwletu kontener wywołuje protected void service(req, resp) ktura skolei woła odpowiednie doxxx UWAGA service i doxxx będą wywoływane z wielu wątków (chyba, że zrobimy SingleThreadModel ) Jeśli kontener uzna, żeby zakończyć serwlet, wywołuje mu metodę: public void destroy() RequestDispatcher żeby servlet mógł się odwołać do innego servletu parametry kontekstu stringi widoczne dla całej aplkacji np sterowniki do DB (patrz wyżej: wpis środowiskowy) Atrybut kontekstu może być dowolnym obiektem. Można go powiązać z: A) żądaniem czas życia będzie krótki, ale przydatne np. przy forwardowaniu, B) sesją widoczny przez kolejne żądania w tej samej sesji (gdzie cookie lub parametr żądania JSESSIONID o tej samej wartości), C) kontekstem będzie widoczny przez wszystkie serwlety w aplikacji Aplikacja webowa może zawierać: serwlety, pliki JSP, dodatkowe klasy, statyczne zasoby (np. html, css, JavaScript, inne pliki), plik konfiguracyjny (wymagany!) META INF folder niedostępny dla klienta, zawiera manifest.mf i ewentualnie pliki.sf z

10 podpisami cyfrowymi WEB INF folder niedostępny dla klienta, zawiera plik web.xml oraz klasy i biblioteki WEB INF/plik.xml plik konfiguracyjny WEB INF/classes/ tu klasy (serwlety i inne) WEB INF/lib/ tu jary z których korzysta aplikacja Wara można stworzyć przez jar cvf Aplikacja.war * i rozpakować przez jar xvf Aplikacja.war Filtr obiekt przechowujący rządanie, stoi między przeglądarką a plikacją, w obu kierunkach przetwarza nieco rządania i odpowiedzi, lub nawet nie przekazuje ich dalej (terminates em) (w web.xml?) serwlety antywzorce Including Common Functionality in Every Servlet sprawdzanie czy user zalogowany w każdym serwlecie Rozwiązanie filtr tylko dla zalogowanych Template Text in Servlet za dużo HTMLa w serwlecie (albo może w ogóle HTML w serwlecie). Kod trudny w utrzymaniu i modyfikacji Rozwiązanie JSP albo sposób definiowania szablonu Using Strings for Content Generation Do generacji HTML używaliśmy Stringów. Trudno znajdować i naprawiać błędy. Wydajność jest niska. Kod podatny na błędy HTMLa. Kod trudny w utrzymaniu Rozwiązanie użyć DOM API Not Pooling Connections Słaba wydajność, słaba skalowalność, kod trudny w utrzymaniu Rozwiązanie pula połączeń Customers in the Kitchen W trakcie generowania odpowiedzi wykonane jest kilka operacji zdalnych Rozwiązanie fasada, która będzie miała jedną metodę zwracająca od razu wszystko, co trzeba Serwlet = generowanie fragmentów HTML wewnątrz kodu Java [HTML in JAVA] JSP = fragmenty kodu Java wewnątrz HTML [JAVA in HTML], dwie składnie, nie można ich mieszać (można przez dyrektywę include) Strony JSP (.jsp), Dokumenty JSP (.jspx) Klasa serwletu dla strony (dokumentu) JSP jest generowana przez kontener przy pierwszym

11 żądaniu odwołującym się do tej strony (first person penalty) (lazy init). W kontenerze jest kompilator JSP przetwarzający stronę JSP na serwlet. Cykl życia 1. Tłumaczenia.jsp do.java 2. Kompilacja.java 3. Wczytanie klasy 4. Stworzenie instancji 5. void jspinit()(jeśli zaimplementujemy jako deklarację) po stworzeniu instancji 6. _jspservice() przy obsłudze każdego żądania 7. void jspdestroy()(jeśli zaimplementujemy jako deklaracje) przy usuwaniu instancji Elementy JSP Ukryte komentarze ( <% treść %>), Deklaracje ( <jsp:declaration> </jsp:declaration> albo <%= %> i <%! %>) Wyrażenia (ang. Expression) ( <jsp:expression> </jsp:expression> albo <%= %> i <%! %>) Skryptlety (ang. Scriptlet) ( <jsp:scriptlet> </jsp:scriptlet> albo <% %> ) Dyrektywy (ang. Directive) ( <jsp:directive.include /> albo <%@include %> ) language użyty język programowania (domyślnie java) extends klasa bazowa dla generowanego serwletu session czy używać sesji (domyslnie true) buffer rozmiar bufora out (dobyślnie 8kb) autoflush automatyczne opróżnianiepo przepełnieniu, false wyjątek (domyślnie true) isthreadsafe (domyślnie true) info string dostępny wewnątrz strony errorpage strona ładowana przy wystąpieniu wyjątku iserrorpage domyslnie false, czy istnieje strona do obsługi błędów, widzi ona obiekt exception Obiekty niejawne application, request, response, session analogiczne jak dla serwletu config informacje związane ze stroną jsp, getattribute(string name) pagecontext metody getout(), getexception(), getpage(), getrequest(), getresponse(), getsession(), getservletconfig(),

12 getservletcontext(), forward(string url), include(stringurl), handlepageexception(throwable t) out do wypisywania wyjścia do klienta JSP akcje: ( <jsp:akcja> ) jsp:plugin np. applet na stronie jsp jsp:include odpowiada include klasy RequestDispatcher jsp:forward odpowiada forward klasy RequestDispatcher jsp:param jakiś parametr wewnątrz np jsp:forward jsp:usebean info, że będzie wykorzystany na stronie obiekt powiązany ze stroną, żądaniem, sesją lub aplikacją jsp:setproperty do wołania setterów jsp:getproperty do wołania getterów MVC i JSP Kontroler serwlety, które odbierają żądanie, tworzą lub pobierają odpowiednie atrybuty sesji, żądania, kontekstu, uaktualniają je wywołują z nich metody i decydują, którą stronę jsp załadować Model beany do których mają dostęp serwlety (przez atrybuty sesji, żądania, aplikacji) i strony jsp (przez <jsp:usebean>) przechowują dane i umożliwiają dostęp do funkcjonalności aplikacji Widok strony JSP będące szablonami na podstawie których generowana jest zawartość odpowiedzi MVC wariaja Page Controller każda strona lub komponent na stronie ma swój kontroler (serwlet). MVC wariaja Front Controller wysunięty jeden kontroler (serwlet) na całą aplikację, korzysta z komend. AJAX (ang. Asynchronous JavaScript and XML, asynchroniczny JavaScript i XML) technika tworzenia aplikacji internetowych, w której interakcja użytkownika z serwerem odbywa się bez przeładowywania całego dokumentu, w sposób asynchroniczny. Ma to umożliwiać bardziej dynamiczną interakcję z użytkownikiem niż w tradycyjnym modelu, w którym każde żądanie nowych danych wiąże się z przesłaniem całej strony HTML. pytania z kolosa II

13 do jakich katalogów znajdujących się w pliku war klient nie ma dostępu jaki może być zasięg kontekstu (podaj min 3 rodzaje) wyjaśnij wady Including Common Functionality in Ever Servlet wyjaśnij wady Template Text in Servlet wyjaśnij wady No Pooling Connections co to jest kontekst w aplikacji webowej jaki problem niesie ze sobę stosowanie plików cookie w realizacji sesji jaki problem niesie ze sobę stosowanie przepisywania URL'a w realizacji sesji co powinna, czego nie musi robić funkcja POST wymień dwie funkcje doxxx wymień 3 techniki pamiętania stanu sesji co oznacza, że HTML jest bezstanowy wyjaśnij wady Accessing Entities Directly co musi znajdywać się w folderze WEB INF co znajduje sie w META INF co to jest coś m Kitchen jakie ma wady jakie wady ma Pooling coś tam jaki zasięg może mieć kontekst czym są Filtry co powinna, a czego nie metoda GET jaki problem niesie ze sobą stosowanie pól hidden w realizacji sesji pytania z kolosa I

14 jaka jest różnica między PUT i POST z ilu bitów składa się adres IPv4 co to jest URI kiedy wykorzystywana jest metoda POST co to jest HTML wypisz elementy składniowe URI co oznacza kod 404 statusu serwera co oznacza kod 401 statusu serwera co oznacza kod 200 statusu serwera co oznacza kod 301 statusu serwera wymień 5 metod HTTP gdzie wykorzystywane jest eskejpowanie znaków podaj 4 zasady składni XHTML co to jest JDBC

Programowanie w Internecie

Programowanie w Internecie mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Co to jest Internet? Warunki zaliczenia Zaliczenie na podstawie opracowanej samodzielnie aplikacji WWW Zastosowane

Bardziej szczegółowo

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

1. Protokoły. Co programy wykorzystują do komunikacji przez sieć? wykorzystują protokoły komunikacyjne 1. Protokoły Co programy wykorzystują do komunikacji przez sieć? Co to jest protokół komunikacyjny? wykorzystują protokoły komunikacyjne zestaw regół dotyczących komunikacji Do czego służą protokoły warstwy

Bardziej szczegółowo

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

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ PSI Protokół HTTP + wstęp do przedmiotu Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ Co będzie na zajęciach Całość ćwiczeń podzielona została na trzy główne bloki: Blok

Bardziej szczegółowo

mgr inż. Michał Paluch

mgr 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ółowo

Technologie internetowe

Technologie internetowe Protokół HTTP Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Spis treści Protokół HTTP Adresy zasobów Jak korzystać z telnet? Metody protokołu HTTP Kody odpowiedzi Pola nagłówka HTTP - 2 - Adresy

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Protokoły WWW Protokoły transportowe HTTP HyperText Transfer Protocol HTTPS HTTP Secured Format adresów WWW URI Uniform

Bardziej szczegółowo

pawel.rajba@gmail.com, http://kursy24.eu/

pawel.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ół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

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

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki 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ółowo

Wybrane działy Informatyki Stosowanej

Wybrane 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ółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

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

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

Języki programowania wysokiego poziomu WWW

Języki programowania wysokiego poziomu WWW Języki programowania wysokiego poziomu WWW Zawartość Protokół HTTP Języki HTML i XHTML Struktura dokumentu html: DTD i rodzaje html; xhtml Nagłówek html - kodowanie znaków, język Ciało html Sposób formatowania

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

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010 SIP: Session Initiation Protocol Krzysztof Kryniecki 16 marca 2010 Wprowadzenie Zaaprobowany przez IETF w 1999 (RFC 2543) Zbudowany przez Mutli Parry Multimedia Session Control Working Group : MMUSIC Oficjalny

Bardziej szczegółowo

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

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania

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

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

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

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

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Źródła. cript/1.5/reference/ Ruby on Rails: http://www.rubyonrails.org/ AJAX: http://www.adaptivepath.com/publications/e ssays/archives/000385.

Źródła. cript/1.5/reference/ Ruby on Rails: http://www.rubyonrails.org/ AJAX: http://www.adaptivepath.com/publications/e ssays/archives/000385. Źródła CSS: http://www.csszengarden.com/ XHTML: http://www.xhtml.org/ XML: http://www.w3.org/xml/ PHP: http://www.php.net/ JavaScript: http://devedgetemp.mozilla.org/library/manuals/2000/javas cript/1.5/reference/

Bardziej szczegółowo

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

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Hypertext Xanadu Project (Ted Nelson) propozycja prezentacji dokumentów pozwalającej czytelnikowi dokonywać wyboru Otwarte, płynne oraz ewoluujące

Bardziej szczegółowo

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

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 8: Warstwa zastosowań: FTP i HTTP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 8 1 / 26 Przypomnienie: Internetowy model warstwowy

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

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

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

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

Model sieci OSI, protokoły sieciowe, adresy IP

Model sieci OSI, protokoły sieciowe, adresy IP Model sieci OSI, protokoły sieciowe, adresy IP Podstawę działania internetu stanowi zestaw protokołów komunikacyjnych TCP/IP. Wiele z używanych obecnie protokołów zostało opartych na czterowarstwowym modelu

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

nope. Co oznacza kod odpowiedzi 200? Co oznacza kod odpowiedzi 401? Jaka jest różnica między HEAD i GET? Na ilu bitach kodowany jest IPv6?

nope. Co oznacza kod odpowiedzi 200? Co oznacza kod odpowiedzi 401? Jaka jest różnica między HEAD i GET? Na ilu bitach kodowany jest IPv6? nope. a tak serio jest zadanie do zrobienia: dostałem od tajnego źródła (wystarczy Wam pseudonim "Ej!") zdjęcia egzaminu z psi. nie są idealne, ale można coś z niego pospisywać. nie będę tego robił w 100%

Bardziej szczegółowo

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet Sieci Komputerowe Wykład 1: TCP/IP i adresowanie w sieci Internet prof. nzw dr hab. inż. Adam Kisiel kisiel@if.pw.edu.pl Pokój 114 lub 117d 1 Kilka ważnych dat 1966: Projekt ARPANET finansowany przez DOD

Bardziej szczegółowo

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

Nowe 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ółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 Globalna sieć Internet Koncepcja sieci globalnej Usługi w sieci Internet

Bardziej szczegółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

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

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

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

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

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

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 5 Architektura WWW Architektura WWW Serwer to program, który: Obsługuje repozytorium dokumentów Udostępnia dokumenty klientom Komunikacja: protokół HTTP Warstwa klienta HTTP

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

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP

Bardziej szczegółowo

Serwery aplikacji. dr Radosław Matusik. radmat

Serwery 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

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania

Bardziej szczegółowo

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane 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ółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.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ółowo

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

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Plan wykładu 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Protokół FTP Protokół FTP (File Transfer Protocol) [RFC 959] umożliwia

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

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

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko TCP/IP Warstwa aplikacji mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu

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

Kurs WWW 1. Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW 1. Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Kurs WWW 1 Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ 1 Na podstawie: Hougland, D. i Tavistock A., JSP. Tworzenie stron WWW, RM, Warszawa 2002 Wprowadzenie Technologia po stronie serwera

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

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

TIN Techniki Internetowe zima 2015-2016

TIN Techniki Internetowe zima 2015-2016 TIN Techniki Internetowe zima 2015-2016 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

Bardziej szczegółowo

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło www.w3.org 1999

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło www.w3.org 1999 Protokół HTTP 1.1 *) Wprowadzenie Jarek Durak * rfc2616 źródło www.w3.org 1999 HTTP Hypertext Transfer Protocol Protokół transmisji hipertekstu został zaprojektowany do komunikacji serwera WW z klientem

Bardziej szczegółowo

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Sieci komputerowe Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Zadania warstwy transportu Zapewnienie niezawodności Dostarczanie danych do odpowiedniej aplikacji w warstwie aplikacji (multipleksacja)

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

Programowanie Sieciowe 1

Programowanie Sieciowe 1 Programowanie Sieciowe 1 dr inż. Tomasz Jaworski tjaworski@iis.p.lodz.pl http://tjaworski.iis.p.lodz.pl/ Cel przedmiotu Zapoznanie z mechanizmem przesyłania danych przy pomocy sieci komputerowych nawiązywaniem

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

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Protokół komunikacyjny zapewniający niezawodność przesyłania danych w sieci IP Gwarantuje: Przyporządkowanie danych do konkretnego połączenia Dotarcie danych

Bardziej szczegółowo

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN Podstawy Transmisji Danych Wykład IV Protokół IPV4 Sieci WAN to połączenia pomiędzy sieciami LAN 1 IPv4/IPv6 TCP (Transmission Control Protocol) IP (Internet Protocol) ICMP (Internet Control Message Protocol)

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia

Bardziej szczegółowo

Modele danych walidacja widoki zorientowane na model

Modele danych walidacja widoki zorientowane na model Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych

Bardziej szczegółowo

pawel.rajba@gmail.com, http://itcourses.eu/ Adresy zasobów Rodzaje zawartości Negocjacja treści Komunikacja Buforowanie HTTP Request/Response Nagłówki Bezstanowość Cookies Narzędzia URL, http://www.ietf.org/rfc/rfc3986.txt

Bardziej szczegółowo

Ministerstwo Finansów

Ministerstwo Finansów Ministerstwo Finansów Departament Informatyzacji Specyfikacja Wejścia-Wyjścia Wersja 1.0 Warszawa, 16.02.2017 r. Copyright (c) 2017 Ministerstwo Finansów MINISTERSTWO FINANSÓW, DEPARTAMENT INFORMATYZACJI

Bardziej szczegółowo

Sieci komputerowe i bazy danych

Sieci komputerowe i bazy danych Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia

Bardziej szczegółowo

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI SPIS TREŚCI 1.Dwie metody przekazu danych do serwera 2 2.Metoda GET przykład 3 3.Metoda POST przykład 4 4.Kiedy GET a kiedy POST 5 5.Szablony po co je stosować 7 6.Realizacja szablonu własną funkcją 8

Bardziej szczegółowo

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PROTOKOŁY TCP I UDP WSTĘP DO SIECI INTERNET Kraków, dn. 12 grudnia 2016 r. PLAN TCP: cechy protokołu schemat nagłówka znane numery portów UDP: cechy protokołu

Bardziej szczegółowo

Typowane zagadnienia jakie mogą pojawić się na egzaminie: wykład 1

Typowane zagadnienia jakie mogą pojawić się na egzaminie: wykład 1 Typowane zagadnienia jakie mogą pojawić się na egzaminie: wykład 1 Internety(Internet ;p), globalna sieć komputerowa korzystająca ze stosu protokołów TCP/IP protokół komunikacyjny zestaw ustalonych reguł

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

Aplikacje WWW Wprowadzenie

Aplikacje WWW Wprowadzenie Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe Elektroniczne Przetwarzanie Informacji Konsultacje: czw. 14.00-15.30, pokój 3.211 Plan prezentacji Warstwowy model komunikacji sieciowej Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa

Bardziej szczegółowo

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

Bardziej szczegółowo

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

PROJEKTOWANIE APLIKACJI INTERNETOWYCH PROJEKTOWANIE APLIKACJI INTERNETOWYCH (WFAIS.IF-N016) dr inż. Marcin Zieliński Wykład dla kierunku: Informatyka Stosowana I rok, II stopień Rok akademicki: 2016/2017 - semestr letni WYKŁAD 2 Przypomnienie

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje 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ółowo

Instrukcja laboratoryjna

Instrukcja laboratoryjna Zaawansowane techniki obiektowe 2016/17 Instrukcja laboratoryjna Testy funkcjonalne Prowadzący: Tomasz Goluch Wersja: 1.0 Testowanie aplikacji z bazą danych Większość współczesnych aplikacji korzysta z

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

Protokoły Internetowe

Protokoły Internetowe Protokoły Internetowe Podstawy Internetu Historia Internetu Definicja Internetu WWW Protokół HTTP Trochę o HTML Dynamiczne strony WWW Protokoły pocztowe Protokoły transmisji danych (ftp) Internet Internet

Bardziej szczegółowo

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

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

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Rejestracja użytkownika Bentley Często zadawane pytania techniczne

Rejestracja użytkownika Bentley Często zadawane pytania techniczne Jestem administratorem i zapomniałem swojego hasła do User Management (zarządzania użytkownikami). Co mogę zrobić? Jeśli nie pamiętasz swojego hasła, wykorzystaj swój adres e-mail jako login i wybierz

Bardziej szczegółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity

Bardziej szczegółowo

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail. A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail. A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail N, Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail 1 Domain Name Service Usługa Domain Name Service (DNS) Protokół UDP (port 53), klient-serwer Sformalizowana w postaci protokołu DNS Odpowiada

Bardziej szczegółowo

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

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

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

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

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ] JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PROGRAMOWANIE SIECIOWE 2 TCP/IP = UDP + TCP TCP/IP składa się z dwóch podstawowych protokołów: TCP i UDP. TCP jest

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP FILTROWANIE IP mechanizm decydujący, które typy datagramów IP mają być odebrane, które odrzucone. Odrzucenie oznacza usunięcie, zignorowanie datagramów, tak jakby nie zostały w ogóle odebrane. funkcja

Bardziej szczegółowo

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017 Wykład 7 25 kwietnia 2017 Dokumentowanie kodu Program javadoc Java jest wyposażona w generator dokumentacji który na podstawie odpowiednio napisanych komentarzy w kodzie programu (które jednak nie sa konieczne),

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

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r. DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r. PLAN Reprezentacja liczb w systemach cyfrowych Protokół IPv4 Adresacja w sieciach

Bardziej szczegółowo