Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 5.

Podobné prezentace


Prezentace na téma: "VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 5."— Transkript prezentace:

1 VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 5.

2 Heslo dne  "The abstractions save us time working, but they don't save us time learning." Joel Spolsky  ions.html ions.html  Zákon netěsných abstrakcí  "Netriviální abstrakce není obvykle schopna absolutně odstínit klienta od abstrahované technologie." SQL má odstiňovat od složitých procedurálních dotazů... WHERE a=b AND b=c... WHERE a=b AND b=c AND a=c – matematicky stejné, avšak na někerých db s významně rychlejší odezvou 2

3 Program  Diskuse nad domácím úkolem  Aplikace Fotoalbum  Práce s bez-stavovým EJB  Nahrání souboru přes formulář  Programovací vzory Persistent Domain Object (PDO) Data Access Object (DAO) 3

4 Aplikace Fotoalbum  Enterprise aplikace s jedním webovým (web) a jedním EJB modulem nazvaným ejb  Oba moduly jsou zabaleny do tzv. enterprise archivu – ear ejb.jar web.war album-app.ear 4

5 Photo - třída pro fotografie  Zapouzdřuje binární data a metadata fotografie  Reprezentuje záznam v perzistentním úložišti  Obsahuje operace pro manipulace s obrázkem  Není pouhým shromaždištěm atributů  Je aktivní (srovnej s Anemic Entity anti-vzorem [Fowler])  Vzor Persistent Domain Object  Reprezentuje data a vazby objektu z doménového modelu (např. databázový model)  Obsahuje metody pro operace nad daty a vazbami  Lze využívat dědičnosti 5

6 Photo – zdrojový kód 6

7 AlbumDAO – přístupový objekt  Rozhraní přístupového objektu k fotografiím  Obsahuje tzv. CRUD operace  Create, Read, Update a Delete  Obvykle obsahuje metody pro vyhledávání  V Java EE implementováno jako bez-stavový EJB  Vzor Data Access Object  Odstiňuje (abstrahuje) od technologie pro ukládání  Zlepšuje testovatelnost  V Java EE 5+ může být v jistých případech zastoupen objektem EntityManager (JPA) 7

8 AlbumDAO – zdrojový kód 8

9 AlbumDAOBean – dočasná impl.  Dočasná implementace DAO k fotografiím  ukládá a čte fotografie ze souborového systému  umístění adresáře úložiště lze konfigurovat parametrem directory v ejb-jar.xml  Data fotografie jsou uložena v souboru nazvaném podle názvu fotografie  Metadata jsou uložena v properties souboru  Bude nahrazen JPA 2.0 impementací 9

10 META-INF/ejb-jar.xml  V adresáři album- zaklad/ejb/src/main/resources/META-INF vytvořte soubor ejb-jar.xml  nastavíme zde parametr directory pro AlbumDAOBean 10

11 AlbumServlet  AlbumServlet slouží jako kontroler albumu  K akcím se rozhoduje podle parametru action v přicházejícím dotazu  Udžuje privátní atribut albumDAO pro komunikaci s perzistentní vrstvou  Odkaz na AlbumDAO je injektován kontejnerem  Servlet ho zpřístupňuje JSP stránkám pomocí atributu v aplikačním kontextu, který nastavuje v metodě init  Servlet je anotován MultipartConfig  zpřístupní metody pro práci s formulářem, který odesílá dotaz složený z více částí (MIME multipart/form-data) 11

12 AlbumServlet – třída 12

13 AlbumServlet – metoda doUpload 13

14 AlbumServlet – načítání parametrů 14

15 Stránka upload.jsp  Obsahuje formulář pro nahrání souboru  atribut enctype musí být multipart/form-data  Ve spodní části je tabulka s výpisem obsahu albumu  Iteruje se přes seznam fotografií získaný z AlbumDAO přes vlatnost photos (getPhotos)  Na začátku je třeba zavést bean AlbumDAO pomocí  Iterace pomocí tagu c:forEach z knihovny 15

16 web.xml 16

17 PhotoServlet  Umožňuje získat data fotografie z aplikace prostřednictvím URL  /photo/  Ve web.xml namapován na /photo/*  REST přístup 17

18 PhotoServlet - kód 18

19 Domácí úkol  Upravte stránku upload.jsp tak, aby  poslední sloupec tabulky fotografií obsahoval zmenšenou verzi obrázku.  kliknutím na obrázek se otevřela nová stránka detail.jsp, která zobrazí fotografii v původních rozměrech spolu s údaji o fotografii, tj. název a popis 19


Stáhnout ppt "VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 5."

Podobné prezentace


Reklamy Google