1 Fejlett Programozási Technikák 2. 15/10. Fejlett Programozási Technológiák 2. 2 Az előző előadás tartalma Java Servlet  Servlet Interfész  Servlet.

Slides:



Advertisements
Hasonló előadás
4. alkalom – Hálózat Kezelés
Advertisements

HTML enhanced for web apps! Fodor Krisztián

„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Erőállóképesség mérése Találjanak teszteket az irodalomban
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Az MVC tervezési minta 2. előadás.
Programozás III KOLLEKCIÓK 2..
1Objektumorientált elemzés és tervezés – Dinamikus modellezés Gyurkó György Objektumorientált elemzés és tervezés Dinamikus modellezés.
SQL Server 2005 Reporting Services a gyakorlatban
ASP.NET MVC 3 platform áttekintés
Adatbányászati technikák (VISZM185)
HADOOP Korszerű Adatbázisok Elérés, Belépés Elérés: eszakigrid109.inf.elte.hu Belépés: felhasználó/jelszó: neptun-kód Manager oldalak:
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Tanszéki konzulens: Horváth Ákos Készítette: Kóródi Norbert.
Bevezetés a Java programozásba
1 Fejlett Programozási Technikák 2. 15/9. Fejlett Programozási Technológiák 2. 2 Az előző mai előadás tartalma: Számítógépes biztonság Jáva és a biztonság.
Fejlett programozási technikák II.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 7. gyakorlat.
Osztott alkalmazások kezelése. VIR elosztott architektúra indítékai: - meglévő komponensek integrációja - WEB / Internet elterjedése (nemzetköziség) -
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
Szmetankó Gábor Greencode Kft.
Instant alkalmazások SharePoint platformon. A fejlesztés és a testre szabás határai elmosódtak. A testre szabást végző legtöbbször nem programozó A.
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Szombathely Dinamikus WEB programozás: PHP és JSP.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
WEB MES (webes gyártásirányító rendszer)
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
szakmérnök hallgatók számára
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
var q = ( from c in dc.Customers where c.City == "London" where c.City == "London" select c).Including( c => c.Orders ); select c).Including(
Fejlesztés PHP-NUKE portál rendszerre Horváth Zoltán Második Magyarországi PHP Konferencia március 27. Copyright PHP Konferencia,
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Java web programozás 11..
Enterpise JavaBeans Simon Balázs
A Visual Basic nyelvi elemei
Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Illés Zoltán ELTE Informatikai Kar
Java web programozás 7-8..
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Java web programozás 5..
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Java web programozás 6..
Java Csoport Antal Péter Bátfai Norbert Jeszenszky Péter.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Opencms modul fejlesztés Krizsán Zoltán. Modulok fajtái Nincs előírás, csak tipikus tennivalók: –Content type: új típus(oka)t vezet be. –Template: új.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
JSF – komponens alapú webfejlesztés. Mi az a JSF mire jó ● Egy szerver oldali, komponens alapú felhasználói felület keretrendszer ● Támogatja a webes.
Web-framework.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Függvénysablonok használata
Előadás másolata:

1 Fejlett Programozási Technikák 2. 15/10

Fejlett Programozási Technológiák 2. 2 Az előző előadás tartalma Java Servlet  Servlet Interfész  Servlet Context  Request  Response  Filter  Session  Web Application

Fejlett Programozási Technológiák 2. 3 Irodalom Tutorial/ Tutorial/ 2EETutorial.pdf 2EETutorial.pdf Hans Bergsten: Java Server Pages 4summerWestminster/Presentations/java%20s erver%20faces.pdf 4summerWestminster/Presentations/java%20s erver%20faces.pdf

Fejlett Programozási Technológiák 2. 4 A mai előadás tartalma Probléma a Java Servlettel Template eszközök Java Server Pages  Áttekintés  Elemei  Életciklusa  Objektumok  Java Beanek használata  Java Standard Tag Library  Custom Tag Library Java Server Faces  Feladata  Elemei  Navigáció  Támogató Bean

Fejlett Programozási Technológiák 2. 5 Probléma a Java Servlet-tel MVC ? Println(” ”) Nem különülnek el a feladatok  HTML tervező  Felhasználói interfész logika fejlesztő  Üzleti logika fejlesztő  Komponens fejlesztő  Alkalmazás tervező A fejlesztő hozzáfér a teljes Servlet API-hoz (html programoz is !) Nehézkes RAD eszözöket vagy WYSIWYG eszközöket alkalmazni

Fejlett Programozási Technológiák 2. 6 Megoldások Template engine-k használata  Magasabb szintű funkciók  Bővíthető építőelem készlet Népszerűbb template motorok-k:  JSP  Velocity  FreeMarker  … Ezekre épülő keretrendszerek:  Java Server Faces  Struts  Turbine

Fejlett Programozási Technológiák 2. 7 JSP 1.0 Hello <% if (request.getParameter("name") == null) { out.println("Hello World"); } else { out.println("Hello, " + request.getParameter("name")); } %>

Fejlett Programozási Technológiák 2. 8 Velocity Hello #if ($request.getParameter("name") == null) Hello World #else Hello, $request.getParameter("name") #end

Fejlett Programozási Technológiák 2. 9 A JSP áttekintése Bármilyen XML oldalon lehet XML szintakszis Elvileg megvalósíthatja az MVC-t vagy Model 2-architektúrát  Model: Java Bean  View: JSP  Controler: Servlet Azonban tipikusan Model 1 architekúra  Az üzleti logika és a megjelenítés nincs szeparálva

Fejlett Programozási Technológiák Elemei Oldal direktíva  Akció elem direktíva  Akció elemek  JSP elemek (Expression Language)  Szkript elemek 

Fejlett Programozási Technológiák Példa Minta fájl

Fejlett Programozási Technológiák A JSP oldal életciklusa Konvertálás Servletté Fordítás Futtatás Bufferelés

Fejlett Programozási Technológiák Objektumok Implicit  A tároló hozza létre őket  Request, … Alkalmazás specifikus  Tipikusan Java Bean-ben tárolódnak Megosztott objektumok  Szálak között (I/N) Kötődhetnek:  Laphoz – pageContext  Alkalmazáshoz - servletContext  Viszonyhoz – session  Kéréshez – request  Válaszhoz – response

Fejlett Programozási Technológiák Java Bean-nek használata ${bookDB.bookDetails.title}

Fejlett Programozási Technológiák Java Server Pages Standard Tag Library Standard, gyakran használt elemek összegyűjtve Típusai  Alap (c) Változó támogatás Folyam vezérlés URL manipulálás Egyéb  XML (x) Alap Folyam vezérlés Transzformáció  I18n (fmt) Lokalitás Üzenet formázás Szám, dátum formázás  Adatbázis (sql) SQL  Egyébb (fn) Gyűjtemény hossz String manipulálás

Fejlett Programozási Technológiák Példák Core... ${item.quantity}... URL <x:parse doc="${xml}" var="booklist" scope="application" /> SQL select * from PUBLIC.books where id = ?

Fejlett Programozási Technológiák Saját Elem Könyvtár Újrahasznosítható komponensek Felhasználó által definiált JSP komponens Könyvtárakba gyűjtik a hasonló funkciókat, egy-egy funkciót megvalósító kód az elem kezelő (Tag Handler) Logika/Megjelenítés elkülönül Lehetőségek:  Paraméterek átadása  Értékek visszaadása  Minden objektumot elér a JSP oldalon  Kommunikálhatnak egymással  Egymásba ágyazhatóak Két típus:  Egyszerű (Nem lehet benne szkript elem)  Klasszikus Tag fájl JSP vagy Java kód, a tároló fordítja le

Fejlett Programozási Technológiák Attribútumok Elem attribútumok:  Egyszerű  Darab (Fragment) egy JSP kód darabot kap attribútumként  Dinamikus Nincs specifikálva, menet közben derül ki

Fejlett Programozási Technológiák Törzs (Body) Egy elem más elemeket és HTML tartalmat is tartalmazhat You just cleared your shopping cart! jsp:body

Fejlett Programozási Technológiák Elemek közötti kommunikáció Megosztott objektumok segítségével kommunikálnak (oldal környezet) Az egymásba ágyazott elemek a privát változókat is használhatják

Fejlett Programozási Technológiák Példa Tag fájl  JSP kódot tartalmaz (WEB-INF/tags, WEB-INF/lib) ${greeting}, ${name}! Használata: Hello

Fejlett Programozási Technológiák Tag Library Descriptor Amennyiben Java-ban írjuk meg az elemkészletünket akkor szükséges Információt tartalmaz az elem gyűjteményről és az elemekről is present condpkg.IfSimpleTag scriptless... test true...

Fejlett Programozási Technológiák Java Tag SimpleTag, interfészt kell megvalósítani  doTag  get/set javax.servlet.jsp.JspContext  getJspBody()  … public HelloWorldSimpleTag extends SimpleTagSupport { public void doTag() throws JspException, IOException { getJspContext().getOut().write("Hello, world."); } public class SimpleWriter extends SimpleTagSupport { public void doTag() throws JspException, IOException { StringWriter sw = new StringWriter(); jspBody.invoke(sw); jspContext(). getOut().println(sw.toString().toUpperCase()); }

Fejlett Programozási Technológiák Iterátor Tag Departments Departments <tlt:iterator var="departmentName" type="java.lang.String" group="${myorg.departmentNames}"> ${departmentName}

Fejlett Programozási Technológiák Iterátor Tag public void doTag() throws JspException, IOException { if (iterator == null) return; while (iterator.hasNext()) { getJspContext().setAttribute(var, iterator.next()); getJspBody().invoke(null); } public void setVar(String var) { this.var = var; } public void setGroup(Collection group) { this.group = group; if(group.size() > 0) iterator = group.iterator(); }

Fejlett Programozási Technológiák Szkriptek használata JSP oldalakon Java kódot is használhatunk Nem célszerű használnunk mert eléggé átláthatatlan lesz az oldal Biztonsági kockázata is van (a servlet kontextushoz is hozzáférhet mindenki) <%! private BookDBAO bookDBAO; public void jspInit() { bookDBAO = (BookDBAO)getServletContext().getAttribute("bookDB"); if (bookDBAO == null) System.out.println("Couldn’t get database."); } %> <%! public void jspDestroy() { bookDBAO = null; } %>

Fejlett Programozási Technológiák Cél

Fejlett Programozási Technológiák Java Server Faces Szerver oldali web komponens felhasználói felületek létrehozására Model 2, MVC A logika és a megjelenítés elkülönül Hasonló lehetőségeket biztosít a fejlesztőknek mint a Desktop GUI fejlesztése A Servlet API-ra épül -> független a JSP-től

Fejlett Programozási Technológiák JSF Elemei:  API az UI komponensek reprezentálására és állapotuk kezelésére, validálásra, navigációra, …  JSP Elem könyvtárak Segítségével  A felhasználói eseményeket a szerver oldali kódhoz köthetjük  Az UI komponensek adatait szerver oldali adattárolókhoz köthetjük  UI készítés újrafelhasználható elemekkel  UI állapot elmentése és betöltése  Folyamatokat definiálhatunk

Fejlett Programozási Technológiák Komponens modell UIComponent-ek (UIComponentBase) melyek leírják az UI komponensek állapotát és viselkedését Renderelő modell mely leírja a megjelenését  Kódolás, Dekódolás Esemény kezelő (JavaBean tervezési mintát követi)  ActionEvent  ValueChangedEvent Konverziós modell Validációs modell (egy vagy több üzenetet gyártanak)

Fejlett Programozási Technológiák Hogyan működik

Fejlett Programozási Technológiák Kérés feldolgozási életciklus

Fejlett Programozási Technológiák Tipikus JSF alkalmazás Java Bean-ek Esménykezelők Validátorok JSP oldalak Szerver oldali segéd osztályok Facesconfig.xml

Fejlett Programozási Technológiák Példa Jsf.jsp

Fejlett Programozási Technológiák Navigáció definiálása /greeting.jsp success /response.jsp /response.jsp success /greeting.jsp <h:commandButton id="submit" action="success" value="Submit" />

Fejlett Programozási Technológiák Támogató Bean Feladata az oldalon lévő elemek adatainak tárolása és az eseménykezelők, validálók, … megvalósítása Integer userNumber = null;... public void setUserNumber(Integer user_number) { userNumber = user_number; } public Integer getUserNumber() { return userNumber; } public String getResponse() { if(userNumber != null && userNumber.compareTo(randomInt) == 0) { return "Yay! You got it!"; } else { return "Sorry, "+userNumber+" is incorrect."; }

Fejlett Programozási Technológiák Menedzselt Bean A támogató babot regisztrálnunk kell UserNumberBean guessNumber.UserNumberBean session minimum long 0 maximum long 10

Fejlett Programozási Technológiák Fejlesztési lépések 1. Modell objektumok fejlesztése 2. Ezek hozzárendelése menedzselt babként 3. Web oldalak létrehozása UI komponensekkel 4. Navigáció definiálása 5. Web.xml konfigurálása

Fejlett Programozási Technológiák A mai előadás tartalma Probléma a Java Serlettel Template eszközök Java Server Pages  Áttekintés  Elemei  Életciklusa  Objektumok  Java Beanek használata  Java Standard Tag Library  Custom Tag Library Java Server Faces  Feladata  Elemei  Navigáció  Támogató Bean

Fejlett Programozási Technológiák A következő előadás tartalma JNDI Corba RMI