Budowa aplikacji wielowarstwowych, zastosowanie obiektów transferowych, konwerterów i walidatorów
|
|
- Franciszek Zakrzewski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Budowa aplikacji wielowarstwowych, zastosowanie obiektów transferowych, konwerterów i walidatorów Laboratorium 3 Programowanie komponentowe Zofia Kruczkiewicz
2 Konieczne ustawienie kodowania UTF-8 w projektach tworzonych w ramach laboratorium z Programowania komponentowego w Javie
3 (1)Ustawienie kodowania typu UTF-8 w projektach Java SE oraz Java EE w zakładce Projects należy prawym klawiszem kliknąć na nazwę projektu i wybrać z listy pozycję Properties
4 (2)Ustawienie kodowania typu UTF-8 w projektach Java SE oraz Java EE w formularzu typu Project Properties należy rozwinąć listę Encoding i wybrać pozycję UTF-8
5 (3)Ustawienie kodowania typu UTF-8 w projektach Java SE oraz Java EE należy zatwierdzić ustawienia klawiszem OK
6 Przykład 1 Zastosowanie obiektu transferowego, wprowadzenie domyślnych konwerterów oraz konwertera typu convertdatetime Wykonanie zadania na kopii programu Sklep3_DTO z przykładu 2 z lab2
7 Wykonanie programu Sklep_3_DTO jako kopii programu Sklep_3 z lab2
8 Widok programu Sklep_3_DTO w zakładce Projects
9 Modyfikacja kodu klasy Produkt dodanie atrybutu data_produkcji typu Date. W klasach typu Entity należ dodać sugerowaną adnotację do atrybutu typu Date klikając na na czerwona kropkę z lewej strony linii atrybutu
10 Dodanie sugerowanej adnotacji do atrybutu data_produkcji typu Date
11 Dodana sugerowana do atrybutu data_produkcji typu Date
12 Fragment kodu klasy Produkt po dodaniu nowego atrybutu private Date data_produkcji; package jpa; import java.io.serializable; import java.util.date; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import public class Produkt implements Serializable { private static final long serialversionuid = GenerationType.AUTO) private Long id; private String nazwa; private float cena; private int private Date data_produkcji;
13 Dodanie metod dostępu typu set i get do atrybutu data_produkcji należy prawym klawiszem myszy kliknąc na powierzchnię edytora i wybrać Insert Code i następnie wybrać Setter and Getter i na kolejnym formularzu zaznaczyć atrybut data_produkcji
14 Należy dodać nowy plik typu Java Class (New/Other)
15 Należy wybrać Java/Java Class i Next
16 Plik należy nazwać Produkt_dto (wpisać nazwę w polu Class Name) i należy go umieścić w nowym pakiecie dto (wpisać nazwę w polu Package) - Finish
17 Należy zdefiniować klasę Produkt_dto, która będzie obiektem transferowym, do przekazywania danych między warstwą internetową i biznesową
18 Definicja klasy Produkt_dto package dto; import java.util.date; public class Produkt_dto { protected long id; protected String nazwa; protected float cena; protected int promocja; protected Date data_produkcji; protected float cena_brutto; public String getnazwa() { return nazwa; public long getid() { return id; public void setid(long id) { this.id = id; public void setnazwa(string nazwa) { this.nazwa = nazwa;
19 public float getcena() { return cena; public void setcena(float cena) { this.cena = cena; public int getpromocja() { return promocja; public void setpromocja(int promocja) { this.promocja = promocja; public Date getdata_produkcji() { return data_produkcji; public void setdata_produkcji(date data_produkcji) { this.data_produkcji = data_produkcji; public float getcena_brutto() { return cena_brutto; public void setcena_brutto(float cena_brutto) { this.cena_brutto = cena_brutto;
20 Modyfikacja kodu klasy Fasada_warstwy_biznesowej, korzystające z obiektu typu Produkt_dto package Warstwa_biznesowa; import dto.produkt_dto; import java.util.arraylist; import javax.ejb.stateless; import public class Fasada_warstwy_biznesowej { static long klucz = 0; private ArrayList<Produkt> produkty = new ArrayList(); boolean stan = false; public ArrayList<Produkt> getprodukty() { return produkty; public void setprodukty(arraylist<produkt> produkty) { this.produkty = produkty;
21 public void utworz_produkt(produkt_dto produkt_dto) { Produkt produkt = new Produkt(); klucz++; produkt.setid(new Long(klucz)); produkt.setnazwa(produkt_dto.getnazwa()); produkt.setcena(produkt_dto.getcena()); produkt.setpromocja(produkt_dto.getpromocja()); produkt.setdata_produkcji(produkt_dto.getdata_produkcji()); dodaj_produkt(produkt); protected void dodaj_produkt(produkt produkt) { if (!produkty.contains(produkt)) { produkty.add(produkt); stan = true; else { stan = false; Metoda po wywołaniu w warstwie internetowej otrzymuje dane produktu w liście parametrów zapakowane do obiektu typu Produkt_dto
22 public Produkt_dto dane_produktu() { if (stan) { Produkt produkt = produkty.get(produkty.size() - 1); return produkt_transfer(produkt); return null; public Produkt_dto produkt_transfer(produkt produkt) { Produkt_dto pom = new Produkt_dto(); pom.setid(produkt.getid()); pom.setnazwa(produkt.getnazwa()); pom.setcena(produkt.getcena()); pom.setpromocja(produkt.getpromocja()); pom.setdata_produkcji(produkt.getdata_produkcji()); pom.setcena_brutto(produkt.cena_brutto()); return pom; public ArrayList<Produkt_dto> items() { ArrayList<Produkt_dto> dane = new ArrayList(); for (Produkt produkt : produkty) { dane.add(produkt_transfer(produkt)); return dane; Metoda przygotowuje obiekt typu Produkt_dto w celu przekazania go przez return. W warstwie internetowej po wywołaniu tej metody dane mogą być przekazane do prezentacji. Metoda pomocnicza, pakująca dane obiektu Produkt do obiektu transferowego typu Produkt_dto Metoda tworzy kolekcję obiektów transferowych typu Produkt_dto w celu zaprezentowania ich w komponencie typu datatable
23 Modyfikacja kodu klasy Managed_produkt usunięcie atrybutów: nazwa, cena, promocja oraz cena_brutto
24 Zmodyfikowany kod klasy Managed_produkt dodanie atrybutu produkt_dto typu Produkt_dto package jsf; import Warstwa_biznesowa.Fasada_warstwy_biznesowej; import dto.produkt_dto; import javax.ejb.ejb; import javax.faces.bean.managedbean; import javax.faces.bean.requestscoped; import javax.faces.model.datamodel; public class Managed_produkt private Fasada_warstwy_biznesowej fasada; private DataModel items; private int stan = 1; private Produkt_dto produkt_dto = new Produkt_dto();
25 public Managed_produkt() { public Fasada_warstwy_biznesowej getfasada() { return fasada; public void setfasada(fasada_warstwy_biznesowej fasada) { this.fasada = fasada; public Produkt_dto getprodukt_dto() { return produkt_dto; public void setprodukt_dto(produkt_dto produkt_dto) { this.produkt_dto = produkt_dto; public int getstan() { return stan; public void setstan(int stan) { this.stan = stan;
26 public Date getdata_produkcji() { return produkt_dto.getdata_produkcji(); public void setdata_produkcji(date data_produkcji) { this.produkt_dto.setdata_produkcji(data_produkcji); public Long getid() { return produkt_dto.getid(); public void setid(long id) { this.produkt_dto.setid(id); public String getnazwa() { return produkt_dto.getnazwa(); public void setnazwa(string nazwa) { this.produkt_dto.setnazwa(nazwa); Właściwość definiująca konwerter typu Long Właściwość wymagająca zdefiniowania konwertera typu convertdatetime Metody definujące właściwości obiektu Managed_produkt, umożliwiające bindowanie danych w formularzach JSF danymi są pola obiektu produkt_dto
27 public Float getcena() { return produkt_dto.getcena(); public void setcena(float cena) { this.produkt_dto.setcena(cena); public Integer getpromocja() { return produkt_dto.getpromocja(); public void setpromocja(integer promocja) { this.produkt_dto.setpromocja(promocja); public Float getcena_brutto() { return produkt_dto.getcena_brutto(); public void setcena_brutto(float cena_brutto) { this.produkt_dto.setcena_brutto(cena_brutto); Właściwość definiująca konwerter typu Float Właściwość definiująca konwerter typu Integer Właściwość definiująca konwerter typu Float Metody definujące właściwości obiektu Managed_produkt, umożliwiające bindowanie danych w formularzach JSF danymi sa pola obiektu produkt_dto
28 public String dodaj_produkt() { fasada.utworz_produkt(produkt_dto); dane_produktu(); return "rezultat2"; public void dane_produktu() { stan = 1; produkt_dto = fasada.dane_produktu(); if (produkt_dto == null) { stan = 0; public DataModel utworz_datamodel() { return new ListDataModel(fasada.items()); public DataModel getitems() { if (items == null) { items = utworz_datamodel(); return items; public void setitems(datamodel items) { this.items = items; Metoda przekazuje do warstwy biznesowej dane z formularza w postacji obiektu typu Produkt_dto i otrzymuje od warstwy biznesowej dane w postaci obiektu typu Produkt_dto do prezentacji Metody tworzące model komponentu datatable zmiana typu modelu jest niewidoczna
29 Modyfikacja i uzupełnienie komunikatów w pliku Bundle.properties
30 Modyfikacja i uzupełnienie komunikatów w pliku Bundle.properties zawartość pliku index2.tytul=sklep4 jsf.lista_produktow.tytul=lista produktów jsf.lista_produktow.pusta=brak danych jsf.lista_produktow.id=id produktu jsf.lista_produktow.nazwa=nazwa produktu jsf.lista_produktow.cena=cena netto produktu jsf.lista_produktow.promocja=promocja produktu jsf.lista_produktow.data=data produkcji produktu jsf.lista_produktow.cenabrutto=cena brutto produktu jsf.dodaj_produkt2.tytul=dodaj produkt jsf.dodaj_produkt2.podaj_nazwa=podaj nazwę produktu jsf.dodaj_produkt2.podaj_nazwa_blad=błąd! Podaj nazwę produktu jsf.dodaj_produkt2.podaj_cena=podaj cenę produktu jsf.dodaj_produkt2.podaj_cena_blad=błąd! Podaj cenę produktu jsf.dodaj_produkt2.podaj_promocja=podaj promocję produktu jsf.dodaj_produkt2.podaj_promocja_blad=błąd! Podaj promocję produktu jsf.dodaj_produkt2.podaj_data=podaj datę produktu jsf.dodaj_produkt2.podaj_data_blad=błąd! Podaj datę produktu jsf.dodaj_produkt2.akcja=ok jsf.rezultat2.tytul=rezultat dodawania nowego produktu jsf.rezultat2.niedodano=taki produkt już istnieje jsf.rezultat2.akcja=powrót
31 Modyfikacja komunikatu w pliku index2.xhtml pobranie z pliku Bundle.properties <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:ui=" <body> <ui:composition template="./template.xhtml"> <ui:define name="#{bundle['index2.tytul']"> Sklep </ui:define> </ui:composition> </body> </html>
32 Modyfikacja pliku dodaj_produkt2.xhtml komunikaty z pliku Bundle.properties oraz dodanie konwertera typu convertdatetime <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:ui=" xmlns:h=" xmlns:f=" <body> <ui:composition template="./../template.xhtml"> <ui:define name="title"> <h:outputtext value="#{bundle['jsf.dodaj_produkt2.tytul']"> </h:outputtext> </ui:define> <ui:define name="content"> <h:form><h:panelgrid columns="2"> <h:outputlabel value="#{bundle['jsf.dodaj_produkt2.podaj_nazwa']" for="nazwa" />
33 <h:inputtext id="nazwa" title="#{bundle['jsf.dodaj_produkt2.podaj_nazwa']" value="#{managed_produkt.nazwa" required="true" requiredmessage="#{bundle['jsf.dodaj_produkt2.podaj_nazwa_blad']" > </h:inputtext> <h:outputlabel value="#{bundle['jsf.dodaj_produkt2.podaj_cena']" for="cena" /> <h:inputtext id="cena" title="#{bundle['jsf.dodaj_produkt2.podaj_cena']" value="#{managed_produkt.cena" required="true" requiredmessage="#{bundle['jsf.dodaj_produkt2.podaj_cena_blad']" > </h:inputtext> <h:outputlabel value="#{bundle['jsf.dodaj_produkt2.podaj_promocja']" for="promocja" /> <h:inputtext id="promocja" title="#{bundle['jsf.dodaj_produkt2.podaj_promocja']" value="#{managed_produkt.promocja" required="true" requiredmessage="#{bundle['jsf.dodaj_produkt2.podaj_promocja_blad']" > </h:inputtext>
34 <h:outputlabel value="#{bundle['jsf.dodaj_produkt2.podaj_data']" for="data" /> <h:inputtext id="data" title="#{bundle['jsf.dodaj_produkt2.podaj_data']" value="#{managed_produkt.data_produkcji" required="true requiredmessage="#{bundle['jsf.dodaj_produkt2.podaj_data_blad']" > <f:convertdatetime pattern="dd-mm-yyyy" /> </h:inputtext> </h:panelgrid> <h:commandlink action="#{managed_produkt.dodaj_produkt" value="#{bundle['jsf.dodaj_produkt2.akcja']" /> </h:form> </ui:define> </ui:composition> </body> </html>
35 Modyfikacja pliku rezultat2.xhtml komunikaty z pliku Bundle.properties <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:ui=" xmlns:h=" <body> <ui:composition template="./../template.xhtml"> <ui:define name="title"> <h:outputtext value="#{bundle['jsf.rezultat2.tytul']"></h:outputtext> </ui:define> <ui:define name="content"> <h:form> <h:outputtext escape="false value="#{bundle.lista_produktow_niedodano" rendered="#{managed_produkt.stan==0"/> <h:panelgrid columns="2" rendered="#{managed_produkt.stan!=0"> <h:outputlabel value="#{bundle['jsf.lista_produktow.nazwa']" for="nazwa" /> <h:outputtext id="nazwa" value="#{managed_produkt.nazwa"/>
36 <h:outputlabel value="#{bundle['jsf.lista_produktow.cena']" for="cena" /> <h:outputtext id="cena" value="#{managed_produkt.cena"/> <h:outputlabel value="#{bundle['jsf.lista_produktow.promocja']" for="promocja" /> <h:outputtext id="promocja" value="#{managed_produkt.promocja"/> <h:outputlabel value="#{bundle['jsf.lista_produktow.data']" for="data"/> <h:outputtext id="data" value="#{managed_produkt.data_produkcji"/> <h:outputlabel value="#{bundle['jsf.lista_produktow.cenabrutto']" for="brutto" /> <h:outputtext id="brutto" value="#{managed_produkt.cena_brutto" /> <h:commandbutton id="powrot" value="#{bundle['jsf.rezultat2.akcja']" action="/faces/index2"/> </h:panelgrid></h:form> </ui:define> </ui:composition> </body> </html>
37 Modyfikacja pliku lista_produktow.xhtml komunikaty z pliku Bundle.properties oraz sposób korzystania z modelu items komponentu datatable <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" xmlns:ui=" xmlns:h=" xmlns:f=" <body> <ui:composition template="./../template.xhtml"> <ui:define name="title"> <h:outputtext value="#{bundle['jsf.lista_produktow.tytul']"></h:outputtext> </ui:define> <ui:define name="content"> <h:form styleclass="jsfcrud_list_form"> <h:panelgroup id="messagepanel" layout="block"> <h:messages errorstyle="color: red" infostyle="color: green" layout="table"/> </h:panelgroup>
38 <h:outputtext escape="false" value="#{bundle['jsf.lista_produktow.pusta']" rendered="#{managed_produkt.items.rowcount == 0"/> <h:panelgroup rendered="#{managed_produkt.items.rowcount > 0"> <h:datatable value="#{managed_produkt.items" var="item" border="0" cellpadding="2" cellspacing="0 rowclasses="jsfcrud_odd_row,jsfcrud_even_row" rules="all" style="border:solid 1px"> <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.id']"/> </f:facet> <h:outputtext value="#{item.id"/> </h:column> <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.nazwa']"/> </f:facet> <h:outputtext value="#{item.nazwa"/> </h:column> <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.cena']"/> </f:facet> <h:outputtext value="#{item.cena"/> </h:column>
39 <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.promocja']"/> </f:facet> <h:outputtext value="#{item.promocja"/> </h:column> <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.data']"/> </f:facet> <h:outputtext value="#{item.data_produkcji"/> </h:column> <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.data']"/> </f:facet> <h:outputtext value="#{item.cena_brutto"/> </h:column> </h:datatable> </h:panelgroup> </h:form> </ui:define> </ui:composition> </body> </html>
40 Efekt po kliknięciu na link Lista produktow Uruchomienie aplikacji Sklep_3_DTO
41 Widok strony po kliknięciu na przycisk OK. Efekt uzyskany dzięki domyślnym wartościom pól wejściowych po zastosowaniu domyślnych konwerterów typu Float i Integer oraz polom required i requiredmessage w pozostałych polach wejściowych Widok strony po kliknięciu na link Dodaj produkt
42 (1) Działanie konwerterów domyślnych oraz typu convertdatetime Efekt działanie konwertera domyślnego typu Float Efekt działanie konwertera domyślnego typu Integer Efekt działanie konwertera typu convertdatetime
43 (2) Działanie konwerterów domyślnych oraz typu convertdatetime
44 Wynik działania domyślnych konwerterów: Float, Integer, Date oraz Float Podanie poprawnych danych formularza
45 Dane po konwersji w komponencie typu datatable Wynik działania domyślnych konwerterów: Long, Float, Integer, Date oraz Float
46 Efekt po próbie dodania produktu o nazwie, cenie netto i promocji, którą posiada produkt wstawiony do aplikacji Dodanie produktu o nazwie, cenie netto i promocji, którą posiada produkt wstawiony do aplikacji
47 Dodanie nowych danych
48 Aplikacja po dodaniu nowych danych
49 Przykład 2 Zastosowanie konwerterów liczbowych typu convertnumber i daty typu convertdatetime Domyślna wartość Locale pl_pl Wykonanie zadania na kopii programu z przykładu 1 lab3 o nazwie Sklep_4
50 (1) W pliku strony dodaj_produkt2.xhtml należy dodać konwerter typu convertnumber z atrybutem binding, odwołującym się do konwertera zdefiniowanego w klasie obiektu typu Managed_produkt, gdzie nadano wartość atrybutu pattern metodą setpattern następny slajd <h:inputtext id="cena" title="#{bundle['jsf.dodaj_produkt2.podaj_cena']" value="#{managed_produkt.cena" required="true" requiredmessage="#{bundle['jsf.dodaj_produkt2.podaj_cena_blad']" > <f:convertnumber binding="#{managed_produkt.number_convert"/> </h:inputtext>
51 (2) Należy dodać konwerter typu NumberConverter, który pozwala na wprowadzanie danych typu liczba rzeczywista, gdzie część ułamkowa jest oddzielona przecinkiem od części całkowitej liczby. Podczas wprowadzania dodawany jest symbol public class Managed_produkt private Fasada_warstwy_biznesowej fasada; private DataModel items; private int stan = 1; private Produkt_dto produkt_dto = new Produkt_dto(); private NumberConverter number_convert=new NumberConverter(); public NumberConverter getnumber_convert() { this.number_convert.setpattern("######.## zł"); return number_convert; public void setnumber_convert(numberconverter Number_convert) { this.number_convert = Number_convert;
52 (3) W pliku strony dodaj_produkt2.xhtml należy dodać konwerter typu convertdatetime z atrybutem pattern określąjącym sposób wprowadzania daty: numer_dnia-numer_miesiaca-rok <h:outputlabel value="#{bundle['jsf.dodaj_produkt2.podaj_data']" for="data" /> <h:inputtext id="data" title="#{bundle['jsf.dodaj_produkt2.podaj_data']" value="#{managed_produkt.data_produkcji" required="true" requiredmessage="#{bundle['jsf.dodaj_produkt2.podaj_data_blad']" > <f:convertdatetime pattern="dd-mm-yyyy" /> </h:inputtext>
53 (4) W pliku strony rezultat2.xhtml należy dodać konwerter convertnumber, zdefiniowany w klasie typu Managed_produkt oraz należy dodać atrybut pattern (anulujący wartość tego atrybutu nadanego metodą setpattern w klasie Managed_produkt), pozwalający na wyświetlanie liczby rzeczywistej, gdzie część ułamkowa jest wyświetlana po przecinku i cała wartość oznaczona jest symbolem zł - <h:outputlabel value="#{bundle['jsf.lista_produktow.cena']" for="cena" /> <h:outputtext id="cena" value="#{managed_produkt.cena"> <f:convertnumber binding="#{managed_produkt.number_convert" pattern="####.### zł -"/> </h:outputtext>
54 (5) W pliku strony rezultat2.xhtml należy dodać konwerter typu convertdatetime z atrybutami datestyle, locale, timestyle oraz type, gdzie dla wybranych wartości atrybutów uzyskano następującą postać wyświetlanej daty: np. Saturday, February 2, :00:00 AM GMT <h:outputlabel value="#{bundle['jsf.lista_produktow.data']" for="data"/> <h:outputtext id="data" value="#{managed_produkt.data_produkcji"> <f:convertdatetime datestyle="full" locale="en_us" timestyle="long" type="both"/> </h:outputtext>
55 (6) W pliku strony lista_produktow.xhtml należy dodać konwerter typu convertnumber z atrybutem pattern określającym sposób prezentowania wartości i oznaczeń wartości konwertowanej (zł w kodzie UTF-8) <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.cena']"/> </f:facet> <h:outputtext value="#{item.cena"> <f:convertnumber pattern="####.## zł"/> </h:outputtext> </h:column>
56 (7) W pliku strony lista_produktow.xhtml należy dodać konwerter typu convertnumber z atrybutami currencysymbol (%) i type do specyfikowania własnego typu (programisty) i oznaczeń wartości konwertowanej <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.promocja']"/> </f:facet> <h:outputtext value="#{item.promocja"> <f:convertnumber currencysymbol="%" type="currency"/> </h:outputtext> </h:column>
57 (8) W pliku strony lista_produktow.xhtml należy dodać konwerter convertdatetime, który przekształca datę na nazwa_dnia, numer_dnia-numer_miesiąca-rok za pomocą atrybutu pattern. Nazwa dnia podawana jest w języku strefy czasowej podawanej przez javax.faces.context.facescontext.getlocale, jeśli nie został zdefiniowany atrybut locale. <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.data']"/> </f:facet> <h:outputtext value="#{item.data_produkcji"> <f:convertdatetime pattern="eeeeeeee, dd-mm-yyyy" /> </h:outputtext> </h:column>
58 (9) W pliku strony lista_produktow.xhtml należy dodać konwerter typu convertnumber z atrybutami currencysymbol (zł w kodzie UTF-8) i type do specyfikowania własnego typu i oznaczeń wartości konwertowanej <h:column> <f:facet name="header"> <h:outputtext value="#{bundle['jsf.lista_produktow.cenabrutto']"/> </f:facet> <h:outputtext value="#{item.cena_brutto"> <f:convertnumber currencysymbol="zł" type="currency"/> </h:outputtext> </h:column>
59 Usuwanie z kontenerów EE aplikacji typu EE
60 Kliknięcie na link Lista produktow Uruchomienie aplikacji Sklep_4
61 Działamie konwertera typu convertnumber zdefiniowanego w pliku Managed_produkt (slajd 2) Działanie domyślnego konwertera typu Integer jako typu przypisanego do atrybutu value Działanie atrybutu required="true" oraz requiredmessage dla pól bez wartości domyślnej
62 Efekt działania konwerterów domyślnych, typu convertnumber (slajdy (1) i (2)) oraz convertdatetime (slajd (3))
63 Efekt działania konwerterów domyślnych, typu convertnumber (slajdy (1) i (2)) oraz convertdatetime (slajd (3))
64 Działanie konwertera typu convertnumber (slajdy (1) i (2)) wykryto znak. w liczbie rzeczywistej
65 Działanie konwertera typu convertnumber (slajdy (1) i (2)) podano poprawny znak, w liczbie rzeczywistej
66 Działanie konwerterów domyślnych, typu convertnumber (slajd (4)) oraz convertdatetime (slajd (5))
67 Działanie konwerterów typu convertnumber (slajd (6), slajd(7), slajd(9)) oraz convertdatetime (slajd (8))
68 Reakcja aplikacji na wprowadzenie danych produktu o takiej samej nazwie, cenie netto i promocji jak produktu znajdującego się w aplikacji Wprowadzenie danych produktu o takiej samej nazwie, cenie netto i promocji jak produktu znajdującego się w aplikacji
69 Wprowadzone dane nowego produktu, różniącego się nazwą, ceną netto i promocją Wprowadzenie danych produktu, różniącego się nazwą, ceną netto i promocją
70 Stan danych po wprowadzeniu produktu różniącego się albo nazwą, albo ceną netto albo promocją
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
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
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
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
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
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
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
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
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
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
Kontynuacja programu z lab2 refaktoryzacja kodu oparta na dodaniu obiektu transferowego oraz stronicowania tabeli w formularzu JSF
Kontynuacja programu z lab2 refaktoryzacja kodu oparta na dodaniu obiektu transferowego oraz stronicowania tabeli w formularzu JSF na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie
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
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
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
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
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
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
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
Kontynuacja programu z lab3 zaawansowane renderowanie formularzy JSF
Kontynuacja programu z lab3 zaawansowane renderowanie formularzy JSF na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab4 1 1. Przygotowanie projektów kopii projektów
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
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
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ą
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
Zastosowanie komponentów EJB typu Session
Zastosowanie komponentów EJB typu Session na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe Lab1 1 1. Refaktoryzacja kodu programu Sklep_6 z lab5, TINT 1.1. Należy wykonać
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
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
Podstawy technologii JavaServer Faces wg
Podstawy technologii JavaServer Faces wg https://docs.oracle.com/javaee/7/jeett.pdf Technologie internetowe 4 1 (5) Dodawanie wybranych znaczników do strony Kontynuacja zagadnień z wykładu 3 2 (5) Dodawanie
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
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
)<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:
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 +
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ń
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
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
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
Budowa aplikacji wielowarstwowych. Zastosowanie Kaskadowych arkuszy stylów (CSS)
Budowa aplikacji wielowarstwowych. Zastosowanie Kaskadowych arkuszy stylów (CSS) Laboratorium 7 Technologie internetowe Zofia Kruczkiewicz TINT_Lab_7, Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie
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/
1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
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.
Bazy danych tworzenie aplikacji bazodanowych ORM / JPA
Bazy danych tworzenie aplikacji bazodanowych ORM / JPA ORM (Object Relationa Mapping)/ORB (Object Relational Broker) to nazwa mechanizmu tłumaczenia obiektowej postaci danych wykorzystywanej w aplikacjach
Budowa aplikacji wielowarstwowych cd Dostęp do bazy danych w oparciu o technologię ORM (Object Relational Mapping)
Budowa aplikacji wielowarstwowych cd Dostęp do bazy danych w oparciu o technologię ORM (Object Relational Mapping) Laboratorium 5 Programowanie komponentowe Zofia Kruczkiewicz Konieczne ustawienie kodowania
Języki i metody programowania Java Lab2 podejście obiektowe
Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie
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
Nr pyt. 5 zal 4.0
Indeks Lab1 16.10 Lab223.10 Lab36.11 Lab420.11 Lab526.11 Lab610.12 Lab717.12 Lab88.01 kol Sklep_1 ob Sklep_2 ob Sklep_3 ob Sklep_4 Sklep_5 ob Sklep_6 Sklep_7 ob Sklep_6_Ajax Sklep_7_Ajax ob Sklep_6_CSob
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
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,
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
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
E:\DYDAKTYKA\ZAI\ZWWW\Laboratoria\L07\Java Persistence.doc 2011-lis-24, 17:0 Zaawansowane aplikacje internetowe Laboratorium Java Persistence.
Zaawansowane aplikacje internetowe Laboratorium Java Persistence. Adaptacja rozwiązania dla środowiska NetBeans 7.0.1: Łukasz Przytuła, opracowanie materiałów: Andrzej Dawidowicz Do wykonania ćwiczeń potrzebne
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania Opis biznesowy świata rzeczywistego Wymagania funkcjonalne i niefunkcjonalne aplikacji Diagram przypadków życia Diagramy klas i sekwencji:
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
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
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
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
Aplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
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).
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
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
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
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
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project
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
Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
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,
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
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ą
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
Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1 Dr inż. Zofia Kruczkiewicz Etap 1 - Tworzenie apletu 1. Wybierz z menu File\ New Project. Na formularzu New Project wybierz w oknie Categories
Zaawansowane aplikacje internetowe
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
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
Laboratorium z przedmiotu: Inżynieria Oprogramowania INP
Laboratoria 5-7- część 1 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
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
Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.
Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie
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
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
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
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
Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek podanych
Protokół JDBC współpraca z relacyjnymi bazami danych lab3
Protokół JDBC współpraca z relacyjnymi bazami danych lab3 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych JPA, lab3 Zofia Kruczkiewicz 1 Zadanie1 Połączenie z bazą danych Sample systemu
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 5
Instrukcja 5 Laboratorium 7 Identyfikacja klas reprezentujących logikę biznesową projektowanego oprogramowania, definicja atrybutów i operacji klas oraz związków między klasami - na podstawie analizy scenariuszy
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania
Instrukcja 3 Laboratorium z Podstaw Inżynierii Oprogramowania Diagramy klas i sekwencji: Relacja 1 do 0..* między klasami modelu obiektowego Cele laboratorium 3 Dokończyć 1-y etap z lab2. 2-i etap projektu.
Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Komunikatory typu TCP/IP lab2 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 - klient wysyła jeden komunikat (typu String) do serwera i kończy swoje istnienie, a serwer go odbiera
Języki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Diagram stanów Laboratorium 9
Diagram stanów Laboratorium 9 Zofia Kruczkiewicz Zofia Kruczkiewicz lab_inp002017_9 1 Modelowanie zachowania obiektu za pomocą diagramu stanów. Opracowanie diagramu stanów dla obiektu wybranej klasy, reprezentującego
Projektowanie obiektowe. dr Jarosław Skaruz
Projektowanie obiektowe dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com Zadanie Na terenie Siedlec funkcjonuje piekarnia Klawisz, która dostarcza swoje produkty do sklepów spożywczych.
Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)
Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) 1. Udostępnianie wszystkich prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwa plików nazwy plików
Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6
Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
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
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
Laboratorium 8 Diagramy aktywności
Laboratorium 8 Diagramy aktywności Zofia Kruczkiewicz Zofia Kruczkiewicz Lab_INP002017_8 1 Modelowanie zachowania obiektów za pomocą diagramów aktywności. Modelowanie zachowania obiektów za pomocą diagramów
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM
Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM Cel laboratorium 5 Należy wykonać dwie aplikacje zawierające warstwę integracji
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