Java Enterprise Edition

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

Download "Java Enterprise Edition"

Transkrypt

1 Java Enterprise Edition spotkanie nr 14 Java Server Faces

2 Interfejs użytkownika przez WWW Typowe zagadnienia prezentacja danych użytkownikowi pobieranie danych od użytkownika nawigacja między stronami walidacja i18n Po co wszyscy mają rozwiązywać te same problemy Struts Webwork Struts 2

3 Java Server Faces Rozmieszczanie komponentów za pomocą znaczników JSP Łączenie zdarzeń HTTP z komponentami Łączenie zdarzeń generowanych przez komponenty z kodem wykonywanym na serwerze Łączenie komponentów na stronie do danych na serwerze Zalety rozdzielenie zachowania i prezentacji model programistyczny bliższy do tradycyjnych aplikacji biurkowych łatwiejszy podział zadań w dużych zespołach możliwość generowania interfejsu w różnych technologiach (oparte na serwletach)

4 Przykład (projekt Greeting) Bean package hello; public class PersonBean { String personname; public String getpersonname() { return personname; } } public void setpersonname(string personname) { this.personname = personname; } plik properties (messages.properties i odmiany) inputname_header=jsf Kisckstart prompt=tell us your name: greeting_text=welcome to JSF button_text=say Hello sign=!

5 Przykład: inputname.jsp contenttype="text/html"%> pageencoding="utf-8"%> uri=" prefix="h"%> uri=" prefix="f"%> <f:loadbundle basename="hello.messages" var="msg"/> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>enter your name page</title> </head> <body> <f:view> <h1> <h:outputtext value="#{msg.inputname_header}"/> </h1> <h:form id="helloform"> <h:outputtext value="#{msg.prompt}"/> <h:inputtext value="#{personbean.personname}"/> <h:commandbutton id="submit" action="x" value="#{msg.button_text}"/> </h:form> </f:view> </body> </html>

6 Przykład: greeting.jsp contenttype="text/html"%> pageencoding="utf-8"%> uri=" prefix="h"%> uri=" prefix="f"%> <f:loadbundle basename="hello.messages" var="msg"/> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>greeting page</title> </head> <body> <f:view> <h:outputtext value="#{msg.greeting_text}"/> <h:outputtext value="#{personbean.personname}"/> <h:outputtext value="#{msg.sign}"/> </f:view> </body> </html>

7 Przykład: faces-config.xml <faces-config version="1.2" xmlns=" xmlns:xsi=" xsi:schemalocation=" <navigation-rule> <from-view-id>/inputname.jsp</from-view-id> <navigation-case> <from-outcome>x</from-outcome> <to-view-id>/greeting.jsp</to-view-id> </navigation-case> </navigation-rule> <managed-bean> <managed-bean-name>personbean</managed-bean-name> <managed-bean-class>hello.personbean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>personname</property-name> <property-class>java.lang.string</property-class> <value>placek</value> </managed-property> </managed-bean> </faces-config>

8 Przykład: web.xml <?xml version="1.0" encoding="utf-8"?> <web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation=" <servlet> <servlet-name>faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.facesservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>faces Servlet</servlet-name> <url-pattern>/pages/*</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>

9 Komponenty UI UI w JSF jest budowane z konfigurowalnych, nadających się do ponownego użycia komponentów Wszystkie komponenty rozszerzają UIComponentBase przykładowe komponenty: UICommand, UIOutput i jego podklasa UIInput, UIForm, UIMessage Komponenty mogą implementować jeden z kilku interfejsów określających ich zachowania, np. UICommand implementuje ActionSource2 Komponenty mogą być renderowane na stronie do różnych postaci komponenty i ich zachowania są zdefiniowane raz a prezentację można zmieniać autorzy stron mogą używać znaczników, które renderują ten sam komponent na różne sposoby, np. UICommand do przycisku lub do linku (commandbutton, commandlink) domyślnie dostępny jest render kit do HTML

10 Beany (projekt GuessNumber) faces-config.xml jest przetwarzany przy starcie aplikacji bean jest tworzony przy pierwszym odwołaniu do niego z jakiejś strony <managed-bean> <managed-bean-name>zgadywanka</managed-bean-name> <managed-bean-class>zgadywanka.zgadywanka</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>minimum</property-name> <property-class>int</property-class> <value>0</value> </managed-property> <managed-property> <property-name>maximum</property-name> <property-class>integer</property-class> <value>10</value> </managed-property> </managed-bean> Zazwyczaj do beanów odwołujemy się przy pomocy wyrażeń wyliczających się z opóźnieniem #{}, a nie ${} (po obsłudze zdarzeń, konwersji i walidacji)

11 Nawigacja <navigation-rule> <from-view-id> /greeting.jsp </from-view-id> <navigation-case> <from-outcome> success </from-outcome> <to-view-id> /response.jsp </to-view-id> </navigation-case> </navigation-rule> statycznie <h:commandbutton id="submit" action="success" value="kliknij mnie" /> dynamicznie <h:commandbutton id="submit" action="#{bean.metoda}" value="kliknij mnie" /> w jednej regule może być kilka przypadków (navigation-case) w przypadku można wskazać z jakiej metody miał pochodzić wynik <from-action>#{logonform.logon}</from-action> można użyć naraz from-outcome i from-action lub tylko jednego z nich jeżeli metoda decydująca o nawigacji zwróci null, to strona jest wyświetlana ponownie bez tworzenia nowego widoku (nie są kasowane wprowadzone dane)

12 Command Link (projekt Link) Zamiast przycisku można użyć link z parametrem value <h:form id="helloform"> <h:outputtext value="#{msg.prompt}"/> <h:inputtext value="#{personbean.personname}"/> <h:commandlink id="submit" action="x" value="#{msg.button_text}"/> </h:form> lub z podelementem <h:form id="helloform"> <h:outputtext value="#{msg.prompt}"/> <h:inputtext value="#{personbean.personname}"/> <h:commandlink id="submit" action="x"> <h:outputtext value="#{msg.button_text}"/> </h:commandlink> </h:form> Przy renderowaniu linków do strony dodawany jest javascript, który generuje action event (będzie wyjaśnione później)

13 Resource bundle Pliki properties z tekstami umieszczamy razem z klasami Można je wskazywać globalnie w faces-config.xml <application>... <resource-bundle> <base-name>zgadywanka.zgadywanka</base-name> <var>msg</var> </resource-bundle>... </application> na każdej stronie oddzielnie <f:loadbundle var="msg" basename="zgadywanka.zgadywanka" /> Odwoływanie się na stronach <h:outputtext value="#{msg.alamakota}"/>

14 Dostęp z kodu (projekt getmessage) public static String getmessage(string basename, String key) { FacesContext context = FacesContext.getCurrentInstance(); ResourceBundle bundle; try { bundle = ResourceBundle.getBundle(basename, context.getviewroot().getlocale()); } catch (Exception e) { return null; } return bundle.getstring(key); }

15 Konwertery Rejestracja konwertera na komponencie możliwa jest na 4 sposoby: dowiązanie wartości komponentu do właściwości beana o typie odpowiadającym konwerterowi tylko dla najważniejszych typów i komponentów, które są dowiązywane wskazanie konwertera przy pomocy atrybutu converter <h:inputtext converter="javax.faces.convert.integerconverter" /> użycie zagnieżdżonego znacznika converter i wskazanie w nim właściwego konwertera (dla niektórych konwerterów można w ten sposób podać dodatkowe informacje na temat formatowania) zamiast pełnej nazwy można użyć identyfikatora konwertera (dla standardowych jest zdefiniowany w klasie, a dla niestandardowych wymieniony w faces-config.xml) <h:inputtext value="#{loginbean.age}" /> <f:converter converterid="integer" /> </h:inputtext> zagnieżdżenie znaczników convertdatetime lub convertnumber (tylko te dwa mają swoje znaczniki)

16 Konwertery c.d. Standardowe konwertery javax.faces.convert.bigdecimalconverter javax.faces.convert.bigintegerconverter javax.faces.convert.booleanconverter javax.faces.convert.byteconverter javax.faces.convert.characterconverter javax.faces.convert.datetimeconverter javax.faces.convert.doubleconverter javax.faces.convert.floatconverter javax.faces.convert.integerconverter javax.faces.convert.longconverter javax.faces.convert.numberconverter javax.faces.convert.shortconverter Standardowe konwertery mają standardowy komunikat błędu, np. dla BigIntegerConverter to "{0} must be a number consisting of one or more digits" parametr {0} jest zastępowany przez nazwę wskazaną w parametrze label elementu którego dotyczy konwerter Do zastąpienia stand. komunikatu błędu lub wskazania takowego dla niestand. konwertera dodaje się do komponentu atrybut convertermessage

17 Walidacja Standardowe walidatory (można dodawać swoje) DoubleRangeValidator czy liczba rzeczywista należy do zakresu LengthValidator czy długość napisu należy do zakresu LongRangeValidator czy liczba całkowita należy do zakresu Podobnie jak dla konwerterów są stand. komunikat błędu dla stand. walidatorów i można je podmieniać przy pomocy atrybutu validatormessage Trzy sposoby walidacji zagnieżdżenie znacznika odpowiadającego walidatorowi (validatedoublerange, validatelength lub validatelongrange) <h:inputtext id="quantity" size="4" value="#{item.quantity}" > <f:validatelongrange minimum="1"/> </h:inputtext> <h:message for="quantity"/> odwołanie się do metody wykonującej walidację przy pomocy atrybutu validate zagnieżdżenie znacznika validator

18 Wypisywanie komunikatów błędu Komunikaty błędu (od walidatorów, konwerterów oraz ze względu na wymagalność) wypisuje się przy pomocy znaczników message oraz messages dowiązanie następuje przy pomocy atrybutu for jeżeli było wiele komunikatów domyślnie wymieniane są w liście, chyba że zmienimy to przy pomocy atrybutu layout="table" <h:inputtext id="userno" value="#{usernumberbean.usernumber}"> <f:validatelongrange minimum="0" maximum="10" /> </h:inputtext> <h:commandbutton id="submit" action="success" value="submit" /> <h:message style="color: red; font-family: 'New Century Schoolbook', serif; font-style: oblique; text-decoration: overline" id="errors1" for="userno"/> Stand. komunikat wymagalności podmieniamy atr. requiredmessage (convertermessage, requiredmessage i validatormessage)

19 Zdarzenia Obiekty Event przenoszą informacje o komponencie, dla którego zaszło zdarzenie oraz informacje o zdarzeniu action event aktywowanie komponentu ActionSource (przycisku, odnośnika, itp.) value-changed event zmiana stanu UIInput, tylko jeżeli nie było błędów walidacji data-model event (zagadnienie zaawansowane) dotyczy wierszy komponentów UIData moment obsłużenia zdarzeń action i value-changed zależy od wartości atrybutu immediate Obsługa zdarzeń możliwa jest na dwa sposoby Aplikacja może rejestrować na komponentach obiekty Listener przez zagnieżdżenie w komponencie znaczników valuechangelistener lub actionlistener Odpowiedni atrybut komponentu może wskazywać metodę backing beana

20 Przykład (projekt ChooseLocale) <f:loadbundle basename="messages.bookstoremessages" var="bundle"/>... <f:view> <h2><h:outputtext value="#{bundle.chooselocale}" /></h2> <h:form> <h:panelgrid id="links" columns="4" summary="#{bundle.chooselocale}" title="#{bundle.chooselocale}" > <h:commandlink id="namerica actionlistener="#{localebean.chooselocalefromlink}"> <h:outputtext value="#{bundle.english}" /> </h:commandlink> <h:commandlink id="germany" actionlistener="#{localebean.chooselocalefromlink}"> <h:outputtext value="#{bundle.german}" /> </h:commandlink> <h:commandlink id="france" actionlistener="#{localebean.chooselocalefromlink}"> <h:outputtext value="#{bundle.french}" /> </h:commandlink> <h:commandlink id="samerica" actionlistener="#{localebean.chooselocalefromlink}"> <h:outputtext value="#{bundle.spanish}" /> </h:commandlink> </h:panelgrid> </h:form> </f:view>...

21 Przykład (projekt ChooseLocale) Tym razem sami implementujemy resource bundle W Javie lokale są reprezentowane przez obiekty java.util.locale a dane podlegające lokalizacji są przechowywane przez obiekty java.util.resourcebundle (zawiera pary klucz-wartość) import java.util.*; public class BookstoreMessages extends ListResourceBundle { static final Object[][] contents = { { "ChooseLocale", "Choose Your Preferred Locale" }, { "English", "English" }, { "German", "German" }, { "Spanish", "Spanish" }, { "French", "French" }, }; } public Object[][] getcontents() { return contents; }

22 Przykład (projekt ChooseLocale) LocaleBean przechowuje mapę indeksowaną identyfikatorami komponentów CommandLink public class LocaleBean { private HashMap<String, Locale> locales = null; public LocaleBean() { locales = new HashMap<String, Locale>(4); locales.put("namerica", new Locale("en", "US")); locales.put("samerica", new Locale("es", "MX")); locales.put("germany", new Locale("de", "DE")); locales.put("france", new Locale("fr", "FR")); } } public void chooselocalefromlink(actionevent event) { String current = event.getcomponent().getid(); FacesContext context = FacesContext.getCurrentInstance(); context.getviewroot().setlocale(locales.get(current)); }

23 Value-changed Listener (projekt ValueChangeListener) Listener jest używany tylko jeżeli wartość rzeczywiście się zmieniła! <h:inputtext id="name" value="#{personbean.personname}"> <f:valuechangelistener type="listener.namechanged" /> </h:inputtext> Kod obsługi zdarzenia umieszcza nową wartość w sesji public class NameChanged implements ValueChangeListener { public void processvaluechange(valuechangeevent event) throws... { if (null!= event.getnewvalue()) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("name", event.getnewvalue()); } } Do wartość z sesji łatwo się dostać na stronie wynikowej <h:outputformat title="thanks" value="#{msg.thankyou}"> <f:param value="#{sessionscope.name}"/> </h:outputformat> Komunikat jest składany z kawałków dzięki użyciu znacznika outputformat oraz wzorca java.text.messageformat thankyou=thank you, {0} for visiting our page

24 Restore View budowa widoku dla strony, podłączanie do komponentów obsługi zdarzeń oraz walidatorów zapisywanie widoku w FacesContext dla initial request widok jest pusty, dla postback uzupełniany jest o informacje zapamiętane na serwerze lub u klienta

25 Apply Request komponenty odczytują przy pomocy swojej metody decode() nowe wartości z parametrów żądania i dokonywana jest konwersja jeżeli konwersja się nie udała, to w FacesContext jest kolejkowany komunikat o błędzie niektóre komponenty modą mieć atrybut immediate ustawiony na true

26 skolejkowane zdarzenia są transmitowane do listenerów jakaś metoda decode albo listener może wykonać renderresponse() na aktualnym egzemplarzu FacesContext można wykonać przy pomocy FacesContext.responseComplete() (jak generujemy odpowiedź nie zawierającą komponentów JSF lub przekierowujemy do innej aplikacji)

27 Process Validations przeprowadzana jest walidacja wartości, a informacje o błędach są kolejkowane w FacesContext

28 skolejkowane zdarzenia są transmitowane do listenerów jakaś metoda decode albo listener może wykonać renderresponse() na aktualnym egzemplarzu FacesContext można wykonać przy pomocy FacesContext.responseComplete() (jak generujemy odpowiedź nie zawierającą komponentów JSF lub przekierowujemy do innej aplikacji) jeżeli były błędy następuje przejście do etapu render response

29 Update Model Values uaktualniane są właściwości beanów podpiętych do komponentów wejściowych jeżeli w apply request był błąd konwersji, to od razu następuje przejście do render response

30 Invoke application aplikacja obsługuje wysłanie formularza lub kliknięcie linku (obsługa application-level events) zazwyczaj domyślny NavigationHandler decyduje jaki będzie kolejny widok i go przestawia

31 Render response kontener JSP wykonuje rendering komponentów na podstawie użytych znaczników

32 Najczęściej spotykane atrybuty id unikalny identyfikator atrybutu trzeba używać składni natychmiastowej ${} jeżeli nie podamy jakiś zostanie wygenerowany immediate zawiera wartość logiczną i dotyczy komponentów UIInput oraz UICommand jeżeli true to obsługa zdarzeń, konwersja wartości i walidacja odbędą się podczas etapu apply request np. jeżeli przycisk i pole oba mają wartość true, to nowa wartość pola będzie dostępna podczas obsługi zdarzenia związanego z przyciskiem np. jeżeli pola mają false, jeden przycisk true, a drugi false, to użycie pierwszego pozwala kontynuować ignorując nowe wartości, a drugi je uwzględni

33 Dołączanie etykiet Dla wygody do pól formularza można dołączać etykiety <h:selectbooleancheckbox id="fanclub" binding="#{cashier.specialoffer}" /> <h:outputlabel for="fanclub" value="#{bundle.dukefanclub}" />... Zamiast parametru value można zagnieździć znacznik <h:selectbooleancheckbox id="fanclub" binding="#{cashier.specialoffer}" /> <h:outputlabel for="fanclub"> <h:outputtext id="fanclublabel" value="#{bundle.dukefanclub}" /> </h:outputlabel>...

34 Najczęściej spotykane atrybuty c.d. rendered wartość logiczna wskazująca czy komponent ma być pokazany wyrażenie EL może tylko odczytywać stan, ale nie może nic zmieniać style zawiera deklaracje CSS styleclass wskazuje nazwę klasy CSS value wskazuje zewnętrzne źródło danych, z którym ma być związana wartość komponentu UIOutput binding wskazuje zewnętrzne źródło danych, z którym ma być związany komponent UIOutput

35 Wzorce komunikatów outputformat pozwala wklejać parametry do wzorców <h:outputformat value="#{bundle.cartitemcount}"> <f:param value="#{cart.numberofitems}"/> </h:outputformat> Jeżeli na kluczu CartItemCount jest napis: Your shopping cart contains {0,choice,0#no items 1#one item 1< {0}} items. to komunikat daje trzy możliwości: Your shopping cart contains no items. Your shopping cart contains one item. Your shopping cart contains {0} items.

Java Server Faces narzędzie do implementacji w wy prezentacji

Java Server Faces narzędzie do implementacji w wy prezentacji Java Server Faces narzędzie do implementacji w wy prezentacji pojęcie komponentu powiązanie z modelem danych widok (View) jako drzewo komponentów obiekty pomocnicze: konwertery, walidatory, obsługa zdarzeń

Bardziej szczegółowo

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski

JSF 1.2. w wykonaniu NetBeans IDE 6.1. Jacek Laskowski JSF 1.2 w wykonaniu NetBeans IDE 6.1 Jacek Laskowski http://www.jaceklaskowski.pl Konferencja NetBeans RoadShow Kraków (11.04.2008), Warszawa (12.04.2008) O mnie... Pasjonat Korporacyjnej Javy 5 (Java

Bardziej szczegółowo

JavaServer Faces (JSF)

JavaServer Faces (JSF) JavaServer Faces (JSF) Autor wykładu: Marek Wojciechowski Plan wykładu JSF jako infrastruktura aplikacji WWW JSF.x Nowe cechy JSF.0 Java Enterprise Edition (Java EE) JavaServer Faces (JSF) Java Enterprise

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.2 na podstawie Wykład 2 Technologie internetowe

Wprowadzenie do technologii JavaServer Faces 2.2 na podstawie   Wykład 2 Technologie internetowe Wprowadzenie do technologii JavaServer Faces 2.2 na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Wykład 2 Technologie internetowe Technologie internetowe 2, Zofia Kruczkiewicz 1 Technologia JavaServer

Bardziej szczegółowo

Zastosowanie słuchaczy zdarzeń wg

Zastosowanie słuchaczy zdarzeń wg Zastosowanie słuchaczy zdarzeń wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 6 1. Obsługa zdarzeń typu valuechangelistener Rejestracja słuchaczy zdarzeń typu valuechangelistener

Bardziej szczegółowo

Poznań Java User Group 2005. Java Server Faces. Wprowadzenie (Fakty i Mity)

Poznań Java User Group 2005. Java Server Faces. Wprowadzenie (Fakty i Mity) Poznań Java User Group 2005 Java Server Faces Wprowadzenie (Fakty i Mity) Plan prezentacji Ograniczenia szkieletów WWW Podstawowe elementy JSF JSF krok po kroku: Warstwa wizualna Obsługa zdarzeń Nawigacja

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List.

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List. Budowa aplikacji wielowarstwowych. Obsługa zdarzeń, zastosowanie walidatorów, wykonanie listy typu Drop Down List. Laboratorium 5 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_5, Zofia Kruczkiewicz

Bardziej szczegółowo

Zastosowanie walidatorów oraz komponentów wyboru wg

Zastosowanie walidatorów oraz komponentów wyboru wg Zastosowanie walidatorów oraz komponentów wyboru wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 7 Standard cyklu życia Request-Response dla JavaServer Faces Cel zastosowania walidatorów

Bardziej szczegółowo

Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg

Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg Zastosowanie technologii Ajax w ramach technologii JavaServer Faces wg https://docs.oracle.com/javaee/7/jeett.pdf http://www.coreservlets.com Technologie internetowe 8 Technologie internetowe 8, Zofia

Bardziej szczegółowo

Java Server Faces - wprowadzenie

Java Server Faces - wprowadzenie Java Server Faces - wprowadzenie Java Server Faces (JSF) jest najpopularniejszą technologią opartą o język JAVA, służącą do tworzenia aplikacji webowych (dynamicznych stron WWW). pomimo że JSF i EJB wchodzą

Bardziej szczegółowo

Złożone komponenty JSF wg

Złożone komponenty JSF wg Złożone komponenty JSF wg https://docs.oracle.com/javaee/7/jeett.pdf http://www.coreservlets.com Technologie internetowe 9 1 Opis znaczników obsługiwanych przez Facelets (tutorial EE 7) 2 Przegląd znaczników

Bardziej szczegółowo

Złożone komponenty JSF wg

Złożone komponenty JSF wg Złożone komponenty JSF wg https://docs.oracle.com/javaee/7/jeett.pdf http://www.coreservlets.com Technologie internetowe 8 Technologie internetowe 8, Zofia 1 Opis znaczników obsługiwanych przez Facelets

Bardziej szczegółowo

Podstawy technologii JavaServer Faces wg https://docs.oracle.com/javaee/7/jeett.pdf

Podstawy technologii JavaServer Faces wg https://docs.oracle.com/javaee/7/jeett.pdf Podstawy technologii JavaServer Faces wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 3 1 Z czego składa się technologia JavaServer Faces? (wykład 2, str.2-3, 7) interfejsu programowania

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Budowa aplikacji wielowarstwowych. Obsługa zdarzeń Laboratorium 6 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_6, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab6, które

Bardziej szczegółowo

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

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ą

Bardziej szczegółowo

Konwersja danych. Programowanie komponentowe 4. wg http://docs.oracle.com/javaee/6/tutorial/doc/ bnaph.html

Konwersja danych. Programowanie komponentowe 4. wg http://docs.oracle.com/javaee/6/tutorial/doc/ bnaph.html Konwersja danych wg http://docs.oracle.com/javaee/6/tutorial/doc/ bnaph.html Programowanie komponentowe 4 Znaczniki typu f: 1. Podstawowe znaczniki JSF Znaczniki do obsługi zdarzeń f:actionlistener f:phaselistener

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

Projektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu:

Projektowanie i wdrażanie systemów informatycznych. Dodanie aplikacji klienta uruchamianej przez przeglądarkę kontynuacja projektu: Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO zawierającej aplikację klienta typu EE oraz internetową aplikację uruchamianą za pomocą przeglądarki. Projektowanie

Bardziej szczegółowo

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >.

Wybierz kategorię Java Web i typ projektu Web Application. Kliknij przycisk Next >. Zaawansowane aplikacje internetowe laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 6.7.1 (do pobrania z http://www.netbeans.org/downloads/index.html).

Bardziej szczegółowo

6. Powtórz kroki z punktu 5. dla strony sorry.jsp, zmieniając jedynie treść wyświetlanego tekstu ( Niestety zamiast Witaj )

6. Powtórz kroki z punktu 5. dla strony sorry.jsp, zmieniając jedynie treść wyświetlanego tekstu ( Niestety zamiast Witaj ) Wielowarstwowe aplikacje internetowe - laboratorium JavaServer Faces (JSF) Do realizacji ćwiczenia potrzebne jest zintegrowane środowisko programistyczne Oracle JDeveloper w wersji 10.1.3 lub wyŝszej.

Bardziej szczegółowo

Aplikacje WWW - laboratorium

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

Bardziej szczegółowo

Aplikacje WWW - laboratorium

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

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

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

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Laboratorium 4 Technologie internetowe Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów Budowa aplikacji wielowarstwowych. Zastosowanie szablonów Laboratorium 2 Technologie internetowe Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab2, które należy opracować (wykład

Bardziej szczegółowo

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie Zofia Kruczkiewicz 1. Jakie warstwy zawiera aplikacja internetowa? 2. Wymień

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

Wielowarstwowa aplikacja internetowa. Wykonanie widoku typu tabela. Pliki typu properties. wg

Wielowarstwowa aplikacja internetowa. Wykonanie widoku typu tabela. Pliki typu properties. wg Wielowarstwowa aplikacja internetowa. Wykonanie widoku typu tabela. Pliki typu properties. wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 5 1 Przykład 12 wielowarstwowa aplikacja

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Budowa prostej aplikacji wielowarstwowej

Budowa prostej aplikacji wielowarstwowej Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Technologie internetowe https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/toc.htm Zofia Kruczkiewicz 1 Wykaz pytań dotyczących

Bardziej szczegółowo

Zastosowanie konwerterów wg

Zastosowanie konwerterów wg Zastosowanie konwerterów wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 5 (1) Konwertery liczbowe i daty Konwertery - javax.faces.convert Klasa w pakiecie javax.faces.convert BigDecimalConverter

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. zastosowanie walidatorów.

Budowa aplikacji wielowarstwowych. zastosowanie walidatorów. Budowa aplikacji wielowarstwowych. zastosowanie walidatorów. Laboratorium 9 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_9, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

Bardziej szczegółowo

Podstawy technologi JavaServer Faces

Podstawy technologi JavaServer Faces Podstawy technologi JavaServer Faces wg http://docs.oracle.com/javaee/6/tutorial/doc/bnaph.html Programowanie komponentowe 3 Z czego składa się technologia JavaServer Faces? interfejsu programowania aplikacji

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax Laboratorium 5 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_5, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

Bardziej szczegółowo

Podstawowe informacje o technologii JavaEE5 Programowanie komponentowe 2

Podstawowe informacje o technologii JavaEE5 Programowanie komponentowe 2 Podstawowe informacje o technologii JavaEE5 Programowanie komponentowe 2 1 Wielowarstwowe aplikacje w JavaEE5 2 Komponenty aplikacji w JavaEE5 komponenty typu klient (warstwa na maszynie klienta): klienci

Bardziej szczegółowo

Podstawowe wykorzystanie Hibernate

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

Bardziej szczegółowo

JAVA SERVER FACES jest to nowy framework Javy do tworzenia interface u użytkownika dla aplikacji sieciowych.

JAVA SERVER FACES jest to nowy framework Javy do tworzenia interface u użytkownika dla aplikacji sieciowych. Czym jest JSF? JAVA SERVER FACES jest to nowy framework Javy do tworzenia interface u użytkownika dla aplikacji sieciowych. Wykorzystuje cykl życia (lifecycle) aplikacji internetowej za pośrednictwem kontrolera

Bardziej szczegółowo

Podstawowe informacje o technologii Java Persistence API - przykład

Podstawowe informacje o technologii Java Persistence API - przykład Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Hibernate. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne NetBeans IDE 5.5 wraz z serwerem Sun Java System Application Server

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegół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

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

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 wielowarstwowe i komponentowe JSP, JSF

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

Bardziej szczegółowo

Infrastruktura aplikacji WWW II

Infrastruktura aplikacji WWW II Infrastruktura aplikacji WWW II Wykład prowadzi: Marek Wojciechowski Infrastruktura aplikacji WWW 1 Plan wykładu Infrastruktura w aplikacjach Java EE JavaServer Faces (JSF) Infrastruktura aplikacji WWW

Bardziej szczegółowo

JavaServer Faces JSFLab

JavaServer Faces JSFLab JavaServer Faces Celem ćwiczenia jest przygotowanie prostej aplikacji wykorzystującej technologię JavaServer Faces w wersji 2.0. Aplikacja umożliwi sprawdzenie poprawności zalogowania się i w zależności

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

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax

Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax Budowa aplikacji wielowarstwowych. Zastosowanie technologii Ajax Laboratorium 6 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_6, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

Bardziej szczegółowo

Tworzenie aplikacji J2EE w technologii JavaServer Faces (JSF)

Tworzenie aplikacji J2EE w technologii JavaServer Faces (JSF) 229 Tworzenie aplikacji J2EE w technologii JavaServer Faces (JSF) Plan prezentacji 230 Wprowadzenie do JavaServer Faces (JSF) Podstawy JavaServer Faces Nawigacja, backing beans, język wyrażeń JSF Tworzenie

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Laboratorium 3 Technologie internetowe Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

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

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper

Bardziej szczegółowo

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

BEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

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

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

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

Java EE: JSF + EJB + JPA + CDI + BV

Java EE: JSF + EJB + JPA + CDI + BV Java EE: JSF + EJB + JPA + CDI + BV Ćwiczenie 1 Celem ćwiczenia jest utworzenie prostej aplikacji bazodanowej umożliwiającej przeglądanie i dodawanie zleceń serwisowych. Ćwiczenie pokazuje współpracę technologii

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

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe JSF 2 wprowadzenie Konfiguracja Eclipse - dodanie szablonu XHTML dla potrzeb JSF 1. Otwórz menu Window/Preferences. Następnie z drzewka wybierz Web/HTML Files/Editor/Templates.

Bardziej szczegółowo

termin Podobna wada 2) jak w Sklep_ , zal. 3.0 termin

termin Podobna wada 2) jak w Sklep_ , zal. 3.0 termin Indeks Lab1-15.10 Lab2-22.10 Lab3-6.11 Lab4-20.11 Lab5-27.11 Lab6- Lab7- Lab8- Sklep_1 8.01 ob Sklep_2 ob Sklep_3 ob Sklep_4 Sklep_5 ob Sklep_6 Sklep_7 obsklep_6_ajax Sklep_7_Ajax ob ob Kol 5838 + - 27.11

Bardziej szczegółowo

termin Podobna wada 2) jak w Sklep_ , zal. 3.0 termin

termin Podobna wada 2) jak w Sklep_ , zal. 3.0 termin Indeks Lab1-15.10 Lab2-22.10 Lab3-6.11 Lab4-20.11 Lab5- Lab6- Lab7- Lab8- Sklep_1 8.01 ob Sklep_2 ob Sklep_3 ob Sklep_4 Sklep_5 ob Sklep_6 Sklep_7 obsklep_6_ajax Sklep_7_Ajax ob ob Kol 5838 + - Błędy na

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

Internacjonalizacja i lokalizowanie aplikacji internetowych https://docs.oracle.com/javaee/7/tutorial/webi18n.htm http://www.coreservlets.com Zastosowanie arkuszy stylów http://www.w3.org/tr/css3-selectors/

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie konwerterów oraz plików typu properties.

Budowa aplikacji wielowarstwowych. Zastosowanie konwerterów oraz plików typu properties. Budowa aplikacji wielowarstwowych. Zastosowanie konwerterów oraz plików typu properties. Laboratorium 4 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_4, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących

Bardziej szczegółowo

termin. Podobna wada 2) jak w Sklep_6

termin. Podobna wada 2) jak w Sklep_6 Indeks Lab1-15.10 Lab2-22.10 Lab3-6.11 Lab4-20.11 Lab5- Lab6- Lab7- Lab8- Sklep_1 8.01 ob Sklep_2 ob Sklep_3 ob Sklep_4 Sklep_5 obsklep_6 Sklep_7 ob Sklep_6_Ajax Sklep_7_Ajax ob ob Kol 5838 + - 5805 +

Bardziej szczegółowo

)<h:commandLink action="#{managed _produkt.dane_pro duktu}" value="ok" actionlistener="#{m anaged_produkt.

)<h:commandLink action=#{managed _produkt.dane_pro duktu} value=ok actionlistener=#{m anaged_produkt. Indeks Lab1-15.10 Lab2-22.10 Lab3-6.11 Lab4-20.11 Lab5- Lab6- Lab7- Lab8- Sklep_1 ob Sklep_2 ob Sklep_3 ob Sklep_4 Sklep_5 obsklep_6 Sklep_7 ob Sklep_6_Ajax Sklep_7_Ajax ob ob Kol 5801- - + - + - Błędy:

Bardziej szczegółowo

rk HTML 4 a 5 różnice

rk HTML 4 a 5 różnice rk HTML 4 a 5 różnice kompatybilność Pierwszym dużym plusem języka HTML 5 jest to, że jest zdefiniowany w sposób umożliwiający kompatybilność wstecz. Składnia Przykład dokumentu podporządkowującego się

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

Facelets ViewHandler

Facelets ViewHandler JSF i Facelets Wprowadzenie JSP (JavaServer Pages) są natywną i najczęściej używaną technologią do tworzenia warstwy prezentacyjnej dla JSF (JavaServer Faces) Istnieją alternatywne technologie opisu wyglądu

Bardziej szczegółowo

Zaawansowane aplikacje internetowe laboratorium

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).

Bardziej szczegółowo

Testowanie podstawowej konfiguracji serwera w środowisku NetBeans

Testowanie podstawowej konfiguracji serwera w środowisku NetBeans WDIS: Apache Tomcat 7.0.34 NetBeans 7.3.1. Zajęcia 1 strona - 1 TESTOWANIE SERWERA TOMCAT FUNDACJI APACHE Testowanie podstawowej konfiguracji serwera w środowisku NetBeans 1. Uruchom środowisko NetBeans

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

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

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 Serwlety Java: zagadnienia zaawansowane Data Sources Data Sources Przykład pliku data-sources.xml Obiekt Data Source stanowi logiczną definicję bazy danych programista korzysta z obiektu Data Source serwer

Bardziej szczegółowo

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. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

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 /

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

Zastosowanie słuchaczy zdarzeń, walidatorów oraz komponentów wyboru wg

Zastosowanie słuchaczy zdarzeń, walidatorów oraz komponentów wyboru wg Zastosowanie słuchaczy zdarzeń, walidatorów oraz komponentów wyboru wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 6 Konwertery liczbowe i daty Konwertery - javax.faces.convert Klasa

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

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010

Automatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010 4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami

Bardziej szczegółowo

Java. Michał Wójcik. michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl

Java. Michał Wójcik. michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl Java Michał Wójcik michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska 5 kwietnia

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

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

Bardziej szczegółowo

Programowanie w języku Java

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

Bardziej szczegółowo

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski

Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski Contexts and Dependency Injection (CDI) Autor wykładu: Marek Wojciechowski ASP.NET (2) Contexts and Dependency Injection (CDI) Specyfikacja składowa Java EE 6 dotycząca współpracy warstwy prezentacji z

Bardziej szczegółowo

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie

Bardziej szczegółowo

Podstawowe informacje o technologii Java Persistence API - przykład

Podstawowe informacje o technologii Java Persistence API - przykład Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe lab5 1 1 (1). Przygotowanie projektów kopii projektów

Bardziej szczegółowo

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44 Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

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

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Laboratorium 1 Wprowadzenie do PHP

Laboratorium 1 Wprowadzenie do PHP Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,

Bardziej szczegółowo

Przegląd d innych rozwiąza. zań szkieletowych dla J2EE

Przegląd d innych rozwiąza. zań szkieletowych dla J2EE 420 Przegląd d innych rozwiąza zań szkieletowych dla J2EE Plan prezentacji 421 WebWork Tapestry Turbine AppFuse WebWork 422 WebWork 423 Technologia szkieletowa ułatwiająca konstrukcję aplikacji J2EE zgodnych

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Budowa aplikacji wielowarstwowych. Zastosowanie szablonów, tabel oraz plików typu properties Laboratorium 3 Technologie internetowe Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego

Bardziej szczegółowo

Dokumentacja do API Javy.

Dokumentacja do API Javy. Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu

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

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