Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba2 JSP – Java Server Pages Servleteknél probléma: Keveredik a HTML és Java kód! Megoldás: Servlet réteg feletti absztrakciós szint JSP
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba3 JSP – Java Server Pages Sun Microsystems, Inc. Fejlesztése június – JSP december – JSP 1.1 (custom tag libraries) 2001 – JSP 1.2 JSP 2.0 (Unified Expression Language (EL)) JSP 2.1 (J2SE5.0 Java annotációk támogatása)
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba4 JSP – Java Server Pages
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba5 Hello World! My first JSP page
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba6 Főbb JSP tag-ek Declaration tag Expression tag Directive tag Scriptlet tag Action tag
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba7 Declaration tag: Adattagok, metódusok deklarálására Pl.: <%! private int fpt_zh1 = 0; private int fpt_zh2 = 0; private String getFelev () ; %>
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba8 Expression tag: Kifejezések kiíratása out.println()-el Pl.: pontos idő kiírása: Date :
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba9 Directive tag: Page Feldolgozási beállitások a JSP motornak Include Fileok beillesztése a kódba Tag library Saját tag-ek megadása
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba10 Apache Struts Nyílt forráskódú keretrendszer Java EE web alkalmazások fejlesztésére MVC architektúrára épít 2000 májusában indította az Apache Foundation a projektet az Apache Jakarta Project alprojektjeként
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba11 MVC
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba12 Példa Struts alkalmazás, Tomcat external/java/apache-tomcat Inditás: bin/startup.bat Leállítás: bin/shutdown.bat A feladathoz csatolt ant szkript viszont ezt automatikusan megteszi! (lsd. Később) Logs: esetleg hibák ide íródnak ki, ha gond van ezt is nézni kell! Webapps: alkalmazások, a bookshop is ide kerül majd
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba13 Példa Struts alkalmazás, Szerkezet Action class A logikai működés itt található Konvenció: actions csomag alatt az osztály neve Action-re végződjön (vagy az ActionSupportbol származzon) A név konvenció alapján lesz belőle URL Az actions csomag alatti osztályok prefixek lesznek Mostani példában minden közv. Actions alatt van ezért minden a bookshop alatt lesz Osztály neve SEO URL lesz: minden nagybetűt lecserélünk kicsire, és helyette kötőjelet rakunk, az Action prefixet elhagyjuk Pl. AddUserFormAction add-user- form JSP fájl Megjelenítés web/WEB-INF/content mappában Ugyanabban a csomagszerkezetben Folyamat Böngészőbe beírom hogy: localhost:8080/bookshop/add-user-form akkor megtalálja az AddUserFormAction osztályt, aminek az execute metódusa után az add-user-form.jsp-t tölti be
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba14 Példa Struts alkalmazás, Futtatás Web/build.xml Alaposan nézzük meg Az adatbázisfájl környezeti változóját esetleg frissíteni kell! Lefordít egy war-t (WEB-INF könyvtár!) Újraindítja a szervert, és a wart felrakja A végén ne felejtsük kézzel (bin/shutdown.bat) leállítani a tomcat-et alatt elérhető
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba15 Példa Struts alkalmazás, JSP Include tag használata Web/WEB-INF/content add-user-error.jsp Osztály adattagokra ${nev} formában hivatkozhatunk add-user-form.jsp add-user URL-t tölti be (form action) AddUserAction osztály a Customerből származik, ezért gender-en kívül mindent a Customerbe automatikusan betölt az add-user-formból (requestben kapja) Pl: A setAge metódust hívja (name alapján) Index.html Menü, ezt mindenhova include-al behúzzuk
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba16 Példa Struts alkalmazás, Java actions csomag Először a requestben kapott változókat megpróbálja betölteni az ActionClass objektumba Ezután execute metódus A konvenciótól el lehet térni, annotációk segítségével Ha már létezik a user akkor másik – error - oldalra megyünk
Szegedi Tudományegyetem – Szoftverfejlesztés Tanszék Fejlett Programozási Technológiák II. gyakorlat - Nagy Csaba17 Hasznos linkek Wikipedia: Sun JSP referencia: Struts: Struts tutorials: