Java Enterprise Edition spotkanie nr 4. Java Server Pages c.d.
|
|
- Karol Wiśniewski
- 9 lat temu
- Przeglądów:
Transkrypt
1 Java Enterprise Edition spotkanie nr 4 Java Server Pages c.d. 1
2 Opracował Jacek Sroka Implict variables & objects application javax.servlet.servletcontext np. application.log() lub getrealpath("/web-inf/licznik.txt") session javax.servlet.http.httpsession tylko jak page session="true" %> request javax.servlet.http.httpservletrequest response javax.servlet.http.httpservletresponse out javax.servlet.jsp.jspwriter page java.lang.object nieprzydatne, bo trzeba rzutować; lepiej używać this pagecontext javax.servet.jsp.pagecontext pozwala uzyskać session, application, config i out metody pozwalające pobierać i ustawiać atrybuty w różnych zasięgach przechowuje atrybuty dla zasięgu "page" (to samo żądanie i translation unit) forward() i include() exception java.lang.throwable tylko jak <%@ page iserrorpage="true" %> 2
3 Opracował Jacek Sroka Implict variables & objects config javax.servlet.servletconfig strony JSP też mogą mieć parametry Nazwa serwletu = <%= config.getservletname() %> <br/> Wartość parametru x = <%= config.getinitparameter("x") %> <servlet> <servlet-name>parametry</servlet-name> <jsp-file>/config.jsp</jsp-file> <init-param> <param-name>x</param-name> <param-value>ala</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>parametry</servlet-name> <url-pattern>/config.jsp</url-pattern> <!-- jak by nie było tego mapowania, byłyby dwa egzemplarze serwletu --> </servlet-mapping> 3
4 Opracował Jacek Sroka Deklaracja z Tomcata public void _jspservice(httpservletrequest request HttpServletResponse response) throws java.io.ioexception, ServletException { PageContext pagecontext = null; HttpSession session = null; Throwable exception = org.apache.jasper.runtime. JspRuntimeLibrary.getThrowable(request); if (exception!= null) { response.setstatus(httpservletresponse.sc_internal_server_error); } ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; try { response.setcontenttype("text/html; charset=utf-8"); pagecontext = JspFactory.getDefaultFactory().getPageContext (this, request, response, null, true, 8192, true); application = pagecontext.getservletcontext(); config = pagecontext.getservletconfig(); session = pagecontext.getsession(); out = pagecontext.getout();... 4
5 Opracował Jacek Sroka Statyczna inkluzja wartość atrybutu nie może być wyliczana include file="<%= wyr %>" %> nie odbywa się żadne żądanie, więc nie ma sensu przekazywać parametrów include file="inna.jsp?fiubździu=trelemorele" %> strony nie muszą się kompilować niezależnie - mogą dzielić zmienne (chociaż lepiej używać w tym celu pagecontext) 5
6 Opracował Jacek Sroka odpowiada RequestDispatcher.include() wartość atrybutu może być wyliczana można dodać parametr flush="true" (czy przed przekazaniem sterowania opróżnić bufor) 6
7 Opracował Jacek Sroka odpowiada RequestDispatcher.forward() wartość atrybutu może być wyliczana nie można użyć parametru flush 7
8 Opracował Jacek Sroka Przekazywanie parametrów <jsp:include page="..."> <jsp:param name="nazwa1" value="wartość1"/> <jsp:param name="nazwa2" value="<%= wyr %>"/> </jsp:include> 8
9 JavaBeans konwencja nazewnicza getxxx(), setxxx() i isxxx() publiczny, bezargumentowy konstruktor można serializować przy pomocy ObjectOutputStream package beany; public class Osoba { private String imię; private int wiek; private boolean królowabalu; public String getimię() { return imię; } public void setimię(string imię) { this.imię = imię; } public boolean iskrólowabalu() { return królowabalu; } public void setkrólowabalu(boolean królowabalu) { this.królowabalu = królowabalu; } public int getwiek() { return wiek; } } public void setwiek(int wiek) { this.wiek = wiek; } 9
10 Jak nie korzystać z JavaBeans w JSP formularz HTML <form action="osoba1.jsp"> Imię: <input type="text" name="imie" value="ala"/><br/> Wiek: <input type="text" name="wiek" value="24"/><br/> Królowa balu: <input type="checkbox" name="krolowabalu"/><br/> <input type="submit"/> </form> JSP (Osoba1.jsp) <%@ page import="beany.osoba" %> <% Osoba osoba = null; synchronized(session) { osoba = (Osoba) session.getattribute("osoba"); if (osoba == null) { osoba = new Osoba(); session.setattribute("osoba", osoba); } osoba.setimię(request.getparameter("imie")); osoba.setwiek(new Integer(request.getParameter("wiek"))); osoba.setkrólowabalu("on".equals(request.getparameter("krolowabalu"))); } %> Zapamiętano dane osoby! (<a href="pokazdaneosoby1.jsp">pokaż dane</a>) 10
11 Jak nie korzystać z JavaBeans w JSP c.d. JSP (PokażDaneOsoby1.jsp) <%@ page import="beany.osoba" %> <% Osoba osoba = null; synchronized(session) { osoba = (Osoba) session.getattribute("osoba"); if (osoba == null) { %> Nie było zapamiętanych osób! <% } else { %> Zapamiętano osobę <%= osoba.getimię()%>, o wieku <%= osoba.getwiek()%>, która <%= (osoba.iskrólowabalu()? "jest" : "nie jest") %> królową balu. <% } } %> 11
12 Korzystanie z JavaBeans przy pomocy akcji <jsp:usebean> atrybuty id obowiązkowa nazwa zmiennej scope domyślnie page class klasa beana (pełna nazwa) type typ zmiennej (pełna nazwa) beanname nazwa zserializowanego beana (np. beany.ala -> beany/ala.ser) lub nazwa klasy (w odróżnieniu od class może być wyliczana w trakcje żądania) możliwe kombinacje: class type jak nie istniał egzemplarz to zgłaszany jest InstantiationException class i type jeżeli egzemplarz nie istniał to jest tworzony beanname i type używa java.beans.beans.instantiate() 12
13 Przykład JSP <jsp:usebean id="osoba" type="osoba" scope="session" beanname="beany.ala"/> wygenerowany Serwlet Osoba osoba = null; synchronized (session) { osoba = (Osoba) session.getattribute("osoba"); if (osoba == null){ try { osoba = (Osoba) java.beans.beans.instantiate( getclass().getclassloader(), "beany.ala"); } catch (ClassNotFoundException exc) { throw new InstantiationException(exc.getMessage()); } catch (Exception exc) { throw new ServletException("Cannot create bean of class " + "beany.ala", exc); } session.setattribute("osoba", osoba); } } 13
14 Zawartość jsp:usebean zawartość elementu jsp:usebean jest wykonywana tylko, jeżeli nie odnaleziono istniejącego egzemplarza zawartość może, ale nie musi być skryptletem <jsp:usebean id="osoba" class="beany.osoba" scope="session"> <% osoba.setimię("ala"); osoba.setwiek(24); osoba.setkrólowabalu(false); %> </jsp:usebean> wygenerowany serwlet: synchronized (session) { osoba = (beany.osoba) session.getattribute("osoba"); if (osoba == null){ osoba = new beany.osoba(); session.setattribute("osoba", osoba); } } osoba.setimię("ala"); osoba.setwiek(24); osoba.setkrólowabalu(false); 14
15 Korzystanie z JavaBeans przy pomocy akcji c.d. <jsp:setproperty> atrybuty name obowiązkowa nazwa zmiennej property obowiązkowa nazwa zmienianej właściwość value nowa wartość param parametr żądania możliwe kombinacje: value param jak nie ma takiego parametru żądania, to wartość nie ulega zmianie; jak ma kilka wartości, to brana jest pod uwagę tylko pierwsza ani value ani param param ma wartość property jako property można podać "*" <jsp:getproperty name="..." property="..."> 15
16 Jak korzystać z JavaBeans w JSP formularz HTML <form action="osoba2.jsp"> Imię: <input type="text" name="imie" value="ola"/><br/> Wiek: <input type="text" name="wiek" value="25"/><br/> <table> <td>królowa balu:</td> <td> <input type="radio" name="krolowabalu" value="true" checked="1"/>tak <br/> <input type="radio" name="krolowabalu" value="false" />Nie </td> </table> <input type="submit"/> </form> JSP (Osoba2.jsp) <%@ page import="beany.osoba" %> <jsp:usebean id="osoba" class="beany.osoba" scope="session"/> <jsp:setproperty name="osoba" property="*"/> <%-- uwaga na polskie litery --%> <jsp:setproperty name="osoba" property="imię" param="imie"/> Zapamiętano dane osoby! (<a href="pokazdaneosoby2.jsp">pokaż dane</a>) 16
17 Jak korzystać z JavaBeans w JSP c.d. JSP (PokażDaneOsoby2.jsp) <%@ page import="beany.osoba" %> <% boolean czybyłaosoba = true; %> <jsp:usebean id="osoba" class="beany.osoba" scope="session"> <% czybyłaosoba = false; %> </jsp:usebean> <% if (!czybyłaosoba) { %> Nie było zapamiętanych osób! <% } else { %> Zapamiętano osobę <jsp:getproperty name="osoba" property="imię"/>, o wieku <jsp:getproperty name="osoba" property="wiek"/>, która <%= (osoba.iskrólowabalu()? "jest" : "nie jest") %> królową balu. <% } %> 17
18 Konwersja typów Zazwyczaj silnik JSP jest za nas w stanie wykonać konwersję typów (z wyjątkiem wyrażenia wyliczanego w chwili wykonania dla parametru value) bean: public class Abecadło { private char[] litery; public char[] getlitery() { return litery; } public void setlitery(char[] litery) { this.litery = litery; } } link: IndeksowaneWlasciwosci.jsp?litery=Ala&litery=Ela&litery=Ola&litery=Ula strona: <%@ page import="beany.abecadło" %> <jsp:usebean id="abecadło" class="beany.abecadło"/> <jsp:setproperty name="abecadło" property="litery"/> <jsp:getproperty name="abecadło" property="litery"/> <%-- zazwyczaj będziemy jednak chcieli wypisać elementy tablicy --%> <br/> <% for (char c : abecadło.getlitery()) out.println(c); 18 %>
19 Bezpieczeństwo 19
20 Podstawowe pojęcia uwierzytelniania (authentication) autoryzacja (authorization) atrybuty bezpieczeństwa informacji integralność danych (data integrity) poufność (confidentiality) tylko ktoś autoryzowany ma dostęp do danych, ale na wszelki wypadek podsłuchujący nic nie zrozumieją dostępność (availability) audyt (auditing) rewizje kodu (peer-to-peer code reviews) zaokrąglanie transakcji bankowych co robić z ryzykiem: unikać, ograniczać, zaakceptować, przenieść 20
21 Mechanizmy uwierzytelniania użytkowników w aplikacjach WWW Mechanizmy uwierzytelniania uż. według specyfikacji Serwletów HTTP Basic authentication HTTP Digest authentication HTTPS Client authentication FORM-based authentication 21
22 HTTP Basic authentication Mechanizm zdefiniowany w specyfikacji HTTP 1.1 Przeglądarka nie wie, że wymagane jest uwierzytelnianie GET /servlet/testservlet HTTP/1.1 Zamiast zasobu odsyłana jest prośba o uwierzytelnienie HTTP/ Unauthorized Server: Tomcat/ WWW-Authenticate: Basic realm="sales" Content-Length=500 Content-Type=text/html <html> jakiś komunikat </html> Przeglądarka wyświetla okienko z prośbą o zalogowanie Przeglądarka ponawia żądanie do zasobu, dodając zakodowaną przy pomocy Base64 parę login:hasło GET /servlet/testservlet HTTP/1.1 Authorization: Basic am9objpqamo= Serwer sprawdza nadesłane wartości i albo odsyła zasób, albo ponawia komunikat
23 Opracował Jacek Sroka HTTP Digest authentication HTTP Basic authentication gdzie zamiast loginu i hasła jest przesyłany skrót MD5
24 Opracował Jacek Sroka HTTPS Client authentication Komunikacja HTTP jest przepuszczana przez SSL SSL przewiduje opcjonalny mechanizm uwierzytelniania klienta Klient posiada własny certyfikat (zgodny z X.509) i jest uwierzytelniany na jego podstawie
25 Opracował Jacek Sroka FORM-based authentication Mechanizm podobny do HTTP Basic authentication, ale zamiast okienka przeglądarki login i hasło pobierane jest z formularze Wymagania względem formularza action="j_security_check" pole j_username pole j_password należy używać metody post
26 Wady/zalety HTTP Basic authentication łatwy w realizacji niebezpieczne, bo Base64 to nie wspierany przez wszystkie szyfrowanie przeglądarki nie można wpłynąć na wygląd okienka dialogowego HTTP Digest authentication bezpieczniejszy od Basic auth. w MS IE od wersji 5 niewymagane przez specyfikację i rzadko wspierane HTTPS Client authentication najbezpieczniejszy wymaga certyfikatów klienta wspierany przez wszystkie przeglądarki FORM-based authentication łatwy w realizacji niebezpieczne wspierany przez wszystkie przeglądarki łatwo dopasować wygląd formularza 26
27 Deklaratywne zabezpieczanie aplikacji <login-config> <!--BASIC DIGEST CLIENT-CERT FORM--> <auth-method>basic</auth-method> <realm-name>mim</realm-name> </login-config>... <login-config> <!--BASIC DIGEST CLIENT-CERT FORM--> <auth-method>form</auth-method> <form-login-config> <form-login-page>/login.jsp</...> <form-error-page>/error.jsp</... </form-login-config> </login-config>... <security-role> <description> bla bla bla </description> <role-name>role1</role-name> </security-role> <security-role> <role-name>tomcat</role-name> </security-role>... 27
28 Deklaratywne zabezpieczanie aplikacji WWW c.d.... <security-constraint> <web-resource-collection> <web-resource-name>kolekcja1</web-resource-name> <url-pattern>/index.html</url-pattern> <url-pattern>/index.jsp</url-pattern> <http-method>get</http-method> <http-method>post</http-method> <!-- wszystkie pozostałe metody są niezabezpieczone --> <!-- zamiast wymieniać wszystkie metody można nie podać żadnej --> </web-resource-collection> <auth-constraint> <role-name>role1</role-name> <!-- * oznacza wszystkie role wymienione w deskryptorze --> </auth-constraint> <user-data-constraint> <!-- NONE INTEGRAL CONFIDENTIAL --> <transport-guarantee>confidential</transport-guarantee> </user-data-constraint> </security-constraint>... 28
29 Programistyczne zabezpieczanie aplikacji WWW Przydatne metody HttpServletRequest: String getauthtype() null HttpServletRequest.BASIC_AUTH, HttpServletRequest.FORM_AUTH, HttpServletRequest.CLIENT_CERT_AUTH, HttpServletRequest.DIGEST_AUTH java.security.principal getuserprincipal() //w znaczeniu zlecaniodawca String getremoteuser() boolean isuserinrole(string) Wylogowanie użytkownika (tylko dla metody FORM) session.invalidate() 29
30 Mapowanie ról Ponieważ w podejściu programistycznym nazwy ról są na stałe wpisane w kodzie, żeby skonfigurować aplikację po napisaniu należy zmapować je na rzeczywiste role używane przez kontener <servlet>... <security-role-ref> <role-name>alamakota</role-name> <role-link>tomcat</role-link> </security-role-ref>... </servlet> 30
31 Czy nie lepiej wszystko zrobić samemu Opracowywanie nowych algorytmów kryptograficznych, protokołów uwierzytelniania, systemów kontroli dostępu wymaga lat doświadczenia Łatwo coś przeoczyć Dużo kosztownej pracy, z której mało pożytku 31
32 Nie tylko dobra aplikacja Konfiguracja aplikacji zmiana domyślnych haseł Konfiguracja serwera aplikacji zmiana domyślnych haseł poprawna konfiguracja usług serwera (np. JNDI) Konfiguracja sieci ataki typu man-in-the-middle ataki typu denial-of-service 32
Java wybrane technologie
Java wybrane technologie spotkanie nr 14 Bezpieczeństwo Podstawowe pojęcia uwierzytelniania (authentication) autoryzacja (authorization) atrybuty bezpieczeństwa informacji integralność danych (data integrity)
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
Java wybrane technologie
Java wybrane technologie spotkanie nr 6 Java Server Pages c.d. JavaBeans konwencja nazewnicza getxxx(), setxxx() i isxxx() publiczny, bezargumentowy konstruktor można serializować przy pomocy ObjectOutputStream
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,
Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
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
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
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
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
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
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,
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
Aplikacje www laboratorium
Aplikacje www laboratorium Konfigurowanie zabezpieczeń w oparciu o JAAS w serwerze GlassFish Zabezpieczanie aplikacji webowych z wykorzystaniem JASS jest w podstawowych zastosowaniach procesem dwuetapowym.
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System
JavaServer Pages. Konrad Kurdej Karol Strzelecki
JavaServer Pages Konrad Kurdej Karol Strzelecki Podejścia do projektowania web aplikacji za pomocą Javy Serwlety Java Serwlety Java to technologia wchodząca w skład Java EE (dawniej J2EE). Serwlet Java
Java Enterprise Edition spotkanie nr 3. Serwlety c.d.
Java Enterprise Edition spotkanie nr 3 Serwlety c.d. 1 Wzorzec obserwator ServletRequestAttributeListener void attributeadded(servletrequestattributeevent ev) void attributeremoved(servletrequestattributeevent
Architektury Usług Internetowych. Laboratorium 1. Servlety
Architektury Usług Internetowych Laboratorium 1. Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanie-odpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy
Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 4 Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Protokół SSL do zabezpieczenia aplikacji na poziomie protokołu transportowego
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
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
ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
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
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
Testowanie 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?
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).
Podstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
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.
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
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
2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK
Zaawansowane aplikacje internetowe EJB 2 Celem tego laboratorium jest pokazanie, w jaki sposób aplikacje stworzone w różnych technologiach mogą korzystać z funkcjonalności udostępnianej przez komponenty
Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF
Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF O mnie 12 lat doświadczenia w systemach WEB Java/JEE (ISC) 2 CISSP CTO w J-LABS GET / HTTP/1.1 Host: bank.pl User-Agent: Mozilla/5.0
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)
Badania 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
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
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
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz
Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą
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
Serwlety Java: zagadnienia zaawansowane. Data Sources. Data Sources. Przykład pliku data-sources.xml
Serwlety Java: zagadnienia zaawansowane Data Sources Data Sources Przykład pliku data-sources.xml Obiekt Data Source stanowi logiczną definicję bazy danych programista korzysta z obiektu Data Source serwer
Wprowadzenie do JSP. Marcin Apostoluk, Tadeusz Pawlus, Wojciech Walczak. Technologie Biznesu Elektronicznego, 7 marzec 2006
Marcin Apostoluk Tadeusz Pawlus Wojciech Walczak Technologie Biznesu Elektronicznego, 7 marzec 2006 Plan prezentacji 1 2 3 4 5 6 7 Kto się tym zajmuje? Opis serwletu Przykład Serwlety inne niż HTTP Aplikacje
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z uŝyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
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
Baza danych do przechowywania użytkowników
System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Wprowadzenie do J2EE. Maciej Zakrzewicz. Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/
1 Wprowadzenie do J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji
Programowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
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
Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API
Łukasz Przywarty 171018 Wrocław, 17.01.2013 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API Prowadzący: mgr inż. Mariusz Słabicki 1 / 5 1. Treść zadania laboratoryjnego W
Aplikacje internetowe - laboratorium
Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa
Java Database Connectivity
Java Database Connectivity Celem ćwiczenia jest zbudowanie kilku prostych serwletów z użyciem technologii JDBC. Podczas ćwiczenia zbudowane zostaną serwlety ilustrujące podstawowe techniki łączenia się
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
JAX-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
Zaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Serwlety. Co to jest serwlet? Przykładowy kod serwletu. Po co są serwlety?
Serwlety Co to jest serwlet? kawałek kodu w Javie po stronie serwera HTTP rozszerza moŝliwośći serwera CGI, w Javie, wzbogacone o biblioteki ułatwiające Ŝycie programiście (np. utrzymywanie sesji, wpólne
Programowanie w języku Java
Programowanie w języku Java Wykład 6: Programowanie rozproszone: Servlety, JSP JEE warstwa WWW Programowanie w języku Java 2 1 Interakcje serwer-klient Programowanie w języku Java 3 Technologie warstwy
Tworzenie i wykorzystanie usług
Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi
Programowanie Obiektowe Ćwiczenie 4
Programowanie Obiektowe Ćwiczenie 4 1. Zakres ćwiczenia wyjątki kompozycja 2. Zagadnienia Założeniem, od którego nie należy odbiegać, jest by każdy napotkany problem (np. zatrzymanie wykonywanej metody)
b) Jako nazwę projektu wpisz SerwletyJSPJSTL. Nie zmieniaj wartości pozostałych opcji. Kliknij przycisk Next >.
Serwlety, JSP, JSTL Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji 7.0.1). Celem ćwiczenia jest wprowadzenie do podstawowych
Enterprise 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
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Standard Tag Library Celem ćwiczenia jest zapoznanie ze standardową biblioteką znaczników JSTL. W ramach ćwiczenia zostanie skonstruowany prosty sklep internetowy
Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http
Dokumentacja interfejsu HTTPD Platforma BSMS.PL Instrukcja podłączenia po przez http Dokumentacja interfejsu httpd (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Zaawansowane aplikacje internetowe
Zaawansowane aplikacje internetowe AJAX 1 Celem tego laboratorium jest pokazanie moŝliwości technologii AJAX. W ramach ćwiczeń zostanie zbudowana prosta aplikacja, przechwytująca kliknięcia uŝytkownika
Klasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Serwlety i JSP. Autor: Marek Zawadka deekay@gazeta.pl
Serwlety i JSP Autor: Marek Zawadka deekay@gazeta.pl Plan prezentacji Wstęp CGI i inne wcześniejsze rozwiązania Serwlety ulepszenia klasa HTTPServlet obsługa sesji wielowątkowość JSP czym się różni od
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Programowanie obiektowe
Programowanie obiektowe III. Refleksja Małgorzata Prolejko OBI JA16Z03 Plan Klasa Class. Analiza funkcjonalności klasy. Podstawy obsługi wyjątków. Zastosowanie refleksji do analizy obiektów. Wywoływanie
Metody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Enterprise 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
Programowanie wielowarstwowe i komponentowe JSP, JSF
Programowanie wielowarstwowe i komponentowe JSP, JSF JSP Cykl życia strony JSP Strony JSP są przetwarzane jako servlety, więc dziedziczą po nich wiele cech Kiedy następuje odwołanie do strony JSP, jest
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz
Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Walidacja po stronie klienta: - w MVC 3 i 4 domyślnie jest włączona także walidacja po stronie klienta - wykorzystuje ona JavaScript
Infrastruktura aplikacji WWW
ASP.NET WebForms Infrastruktura aplikacji WWW Gotowe rozwiązania architektoniczne i szkielety aplikacji zwalniają twórców aplikacji z implementacji infrastruktury, zwiększając ich produktywność Stanowy,
Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,
Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa, 2008-01-08 1 Agenda 1. Teza 2. Bezpieczeństwo aplikacji internetowych Usługi bezpieczeństwa
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
ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI
PROJEKT: ZAPROJEKTOWANIE, WYKONANIE I WDROŻENIE SYSTEMU INFORMATYCZNEGO OBSŁUGUJĄCEGO E-PŁATNOŚCI ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI Strona 1 z 19 Informacje o Historia zmian Wprowadzenie
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu
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
Wprowadzenie do Internetu Zajęcia 5
Zajęcia 5 Formularze w PHP Przekazywanie danych ze strony do skryptu PHP Dane ze strony WWW do skryptu PHP można przekazać za pomocą formularzy. W tym celu należy stworzyć formularz (znacznik ),
Architektury Usług Internetowych. Laboratorium 2 RESTful Web Services
Architektury Usług Internetowych Laboratorium 2 RESTful Web Services Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych opartych na standardzie REST. RESTful Web Services Usługami
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
Zaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 2). Celem ćwiczenia jest przygotowanie prostej aplikacji prezentującej technologię usług sieciowych (ang. Web Services). Przygotowana
Dawid Gierszewski Adam Hanasko
Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Zaawansowane Systemy Decyzyjne Laboratorium prowadzący: Andrzej Czajkowski 1 Dostęp do Bazy Danych. 1 Cel ćwiczenia. Celem ćwiczenia
1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja
Bezpieczeństwo 1. Podstawowe usługi bezpieczeństwa. 2. Użytkownicy i role. przydzielanie uprawnie ń metodom, role komponentów, korzystanie i konfiguracja mechanizmów bezpieczeństwa w Jboss 3. Java Authentication
Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
1) Przygotowanie środowiska pracy.
Aplikacje internetowe, laboratorium Autor: Witold Andrzejewski Java Server Pages (JSP). Celem niniejszego dwiczenia jest przedstawienie podstaw tworzenia aplikacji webowych za pomocą technologii JSP. Po
Przegląd technologii JSP
Marcin Paszkowski Czego potrzebujemy? Przegląd technologii JSP Do obsługi serwletów oraz JSP używamy kontenera. Czym on jest? Zapewnia on prosty mechanizm komunikacji pomiędzy serwletami a serwerem www.
MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty
MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,
SSL (Secure Socket Layer)
SSL --- Secure Socket Layer --- protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez Netscape. SSL w założeniu jest podkładką pod istniejące protokoły, takie jak HTTP, FTP, SMTP,
Systemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Laboratorium 2. Formularze HTML. Metody przekazywania parametrów. Spis treści I. Wprowadzanie wartości parametrów w formularzu HTML... 1 II. Projektowanie formularza
Umieszczanie kodu. kod skryptu
PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona