Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa



Hasonló dokumentumok
A JavaServer Pages (JSP)

Web-fejlesztés NGM_IN002_1

JSP (Java Server Pages) technológia

A JSP életciklusa Szkript elemek Dinamikus tartalom létrehozása Kifejezés nyelv Tartalom újrafelhasználása Vezérlés átadása Visszatekintés

JSP technológia. A JSP elemek kétféle szintaxissal használhatók: A JSP

A JavaServer Pages (JSP)

A JavaServer Pages (JSP)

A WEB programozása - JSP1 dr.gál Tibor őszi félév

A Java Server Pages technológia. JSP és JSP elemkönyvtárak, JSTL alapok

A JSP életciklusa Szkript elemek Dinamikus tartalom létrehozása Kifejezés nyelv Tartalom újrafelhasználása Vezérlés átadása Visszatekintés

JSP életciklusa Szkript elemek, implicit objektumok, bean-ek, EL include, (forward) Visszatekintés MVC

2. rész: JSP-k és szervletek készítése. Bakay Árpád NETvisor kft (30)

Bevezető. Servlet alapgondolatok

JavaServer Pages (JSP) (folytatás)

JAVA webes alkalmazások

JEE tutorial. Zsíros Levente, 2012

Stateless Session Bean

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Szervlet-JSP együttműködés

Java programozási nyelv /ősz 9. óra. Java Server Pages. JSP technika alapjai

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

Java Servlet technológia

Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Web-fejlesztés NGM_IN002_1

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

JavaServer Pages JSTL, EL

A Java EE 5 plattform

BME IK 2 JAVA SERVER FACES UML-1 20/11/2013. Apache Struts. Spring MVC. Java Server Faces. Google Web Toolkit. Képességek

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Webalkalmazás fejlesztés Java EE környezetben NetBeans segítségével: JavaServer Faces 1.2 AJAX

OOP: Java 8.Gy: Abstract osztályok, interfészek

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet

4. Öröklődés. Programozás II

Struts2 keretrendszer

Osztályok. 4. gyakorlat

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

és az instanceof operátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java Web technológiák

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

Osztott rendszerek, Java EE. Általános bevezető

Programozási nyelvek (ADA)

PHP. Adatbázisok gyakorlat

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Java servlet technológia 1 / 40

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Webshop készítése ASP.NET 3.5 ben I.

Java servlet technológia. Web alkalmazások. Servlet-et használni érdemes, ha. JSP-t használni érdemes, ha. Servlet-JSP kombináció (MVC) szükséges, ha

Programozás II gyakorlat. 4. Öröklődés

Java programozási nyelv 4. rész Osztályok II.

JSP standard elemkönyvtár JSTL. alap elemkönyvtár (core) nemzetköziesítés (internationalization) Saját elemkönyvtárak (Custom Tags)

A saját elemek. JSP standard elemkönyvtár JSTL alap elemkönyvtár (core) nemzetköziesítés (internationalization) Saját elemkönyvtárak (Custom Tags)

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Java és web programozás

Web programoz as

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Enterprise JavaBeans 1.4 platform (EJB 2.0)

BME MOGI Gépészeti informatika 8.

A. függelék Webalkalmazások

Objektumok inicializálása

Web-technológia PHP-vel

JavaServer Pages programozóknak

A Web réteg architektúrája A JSF web alkalmazás keretrendszer. Bakay Árpád dr. NETvisor kft (30)

Objektum orientált kiterjesztés A+ programozási nyelvhez

A WEB programozása - Bevezetés őszi félév Dr. Gál Tibor

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Mai program. Web Technológiák. Webalkalmazások. Webalkalmazás, mint UI

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

API tervezése mobil környezetbe. gyakorlat

Java technológiák - ANTAL Margit. komponensek. A HTTP protokoll. Webkonténerek és szervletek. Egyszerű HTTP. ANTAL Margit.

Java és web programozás

Java I. A Java programozási nyelv

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Java grafikai lehetőségek

ASP-s alkalmazás készítés

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Szoftvertechnológia alapjai Java előadások

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

3. Osztályok II. Programozás II

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Többfelhasználós és internetes térkép kezelés, megjelenítés

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

Osztály és objektum fogalma

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Bevezetés a Seam keretrendszer használatába

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Java és web programozás

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

OOP: Java 8.Gy: Gyakorlás

Model View Controller alapú alkalmazásfejlesztés

Átírás:

Web Technológiák Java Server Pages - JSP Répási Tibor egyetemi tanársegéd Miskolc Egyetem Infomatikai és Villamosmérnöki Tanszékcsoport (IVM) Általános Informatikai Tanszék Iroda: Inf.Int. 108. Tel: 2101 JSP technológia: szöveg alapú dokumentumok elállítása tartalmaz statikus és dinamikus szakaszokat jelöl nyelv szerver oldali objektumok elérésére lehetség a jelöl nyelv kiterjesztésére JSP lap tartalma: statikus szakaszok: szöveg (lehet strukturált is, pl. HTML, XML, WML, stb.) dinamikus tartalmat elállító JSP elemek JSP lapok (javasolt) tárolása:.jsp : teljes JSP oldal.jspf : egy JSP oldal részlete Java Server Pages - JSP JSP lapok életciklusa JSP elemek: feldolgozásra kerülnek dinamikus tartalommal helyettesítdnek típusai: scriptlet: <% %> direktíva: <%@ directive %> standard JSP elem: <jsp:element...> </jsp:element> egyedi JSP elem: <prefix:element...>...</prefix:element> JSP kifejezés: ${ A JSP lap, mint web komponens: kéréseket szolgál ki, servlet-ként el feldolgozás: servlet forráskód elállítása a jsp szöveg alapján fordítás: server osztály lefordítása kérés kiszolgálás: a servlet életciklusa szerint

JSP lapok életciklusa Statikus tartalom elállítása Az el feldolgozás menete: Java osztály elállítása sablon alapján direktívákkal befolyásolható statikus szakaszok alapján output utasítások generálása scriptlet kódjának átemelése a servlet forrásba kifejezések átadása a JSP kifejezés kiértékelnek JSP elemek helyén meghívódik az azokat megvalósító osztály megfelel metódusa Szükséges beállítások: Milyen MIME típus lesz a statikus tartalomból? Milyen kódolású lesz? Milyen a JSP statikus tartalmának kódolása? A kódolást az el feldolgozó végzi, direktívák alapján: <%@ page contenttype="text/html; charset=utf-8" %> <%@ page pageencoding="utf-8" %> lehet egyetlen page direktívába is írni. Dinamikus tartalom elállítása Scriptlet használata Java objektumok metódushívásai eredménye képen jön létre. implicit objektumok: létrehozásukról a servlet sablon gondoskodik (pl. pagecontext, param, paramvalues, cookie, stb.) explicit objektumok: scriptlet kódban létrehoztuk, késbb használhatjuk Objektumok osztott használata: különös gondosságot igényel (több-szálú feldolgozás) <%@ page isthreadsafe="true false" %> <%@page contenttype="text/html" pageencoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <title>jsp Page</title> </head> <body> <h2>bart's penalty</h2> <% for (int i=0; i < 100; i++) out.println("i'm not going to use scriptlets this way.<br/>"); %> </body> </html>

<%@page contenttype="text/html" pageencoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <jsp:usebean id="naptar" class="java.util.date"/> <li>nap: <jsp:getproperty name="naptar" property="date"/></li> <li>honap: <jsp:getproperty name="naptar property="month"/></li> <li>ev: <jsp:getproperty name="naptar" property="year"/></li> <li>ora: <jsp:getproperty name="naptar" property="hours"/></li> <li>perc: <jsp:getproperty name="naptar" property="minutes"/></li> Egy HTML rlap feldolgozása: <form action="beallit.jsp"> Név: <input type="text" name="nev"/> <br/>szül.év: <input type="text" name="evszam"/> <br/><input type="submit"/> </form> package csomag; public class peldabean { private int evszam; private String nev; public peldabean() { evszam = 2008; public int getevszam() { return evszam; public void setevszam(final int evszam) { this.evszam = evszam; public String getnev() { return new String(nev); public void setnev(final String nev) { this.nev = new String(nev); Létrehozzuk a JavaBean-t és felöltjük az rlap adataival <jsp:usebean class="csomag.peldabean" id="szemely" scope="session"> <jsp:setproperty name="szemely" property="*"/> </jsp:usebean>

Csináljuk valami hasznosat: <jsp:usebean class="csomag.peldabean" id="szemely" scope="session"/> <jsp:usebean id="naptar" class="java.util.date"/> Hello <jsp:getproperty name="szemely" property="nev"/>. Iden <%= naptar.getyear() - szemely.getevszam() %> eves leszel. JSP TagLibrary A JSP elemkészletének kiegészítése JSTL : szabványos elemekkel Custom TagLib: egyedi elemekkel Használata: <%@ taglib prefix="tt" [tagdir=/web-inf/tags/dir uri=uri ] %> <prefix:tag attr1="value"... attrn="value" /> <prefix:tag attr1="value"... attrn="value"> body</prefix:tag> JSTL -ek: Core, XML, Internationalization, SQL, Functions Alternatív szintaxis Unified Expression Language (EL) Két JSP szintaxis használatos: Standard JSP: egyszer JSP XML-syntax: szabványos XML scriptlet: <jsp:scriptlet>.. </jsp:scriptlet> comment: <!-- --> direktíva: <jsp:directive.page.. /> kifejezés: <jsp:expression>.. </jsp:expression> A JSP specifikációban definiált leíró nyelv Célja, dinamikusan kiértékelt kifejezések beillesztése a JSP szövegbe. Elemek attribútumába való behelyettesítéshez szükséges. pl. <c:if test="${sessionscope.cart.numberofitems > 0">...</c:if> Explicit és implicit objektumok hivatkozhatók

Implicit objektumok Implicit objektumok pagecontext: a lap végrehajtási kontextusa, további objektumok elérését szolgálja servletcontext: a lapból generált servlet kontextusa session: a session objektum request: a kérés objektum response: a válasz objektum param: a kérés paramétereinek map-je paramvalues: paraméter értékek tömbje header: http kérés fejrész paraméterek headervalues: http kérés fejrész paraméter értékek tömbje cookie: http-cookiek map-je initparam: servlet init paraméterek map-je Változó hatáskör objektumok: pagescope: page hatáskör objektumainak map-je requestscope: kérés hatáskör objektumok map-je sessionscope: ülés hatáskör objektumok map-je applicationscope: alkalmazás hatáskör objektumok map-je