JavaServer Pages - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

JavaServer Pages

Description:

JavaServer Pages s Java Beans Fab k Zsolt ltal nos Informatikai Tansz k Miskolci Egyetem JSP s JavaBean – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 31
Provided by: Fics
Category:

less

Transcript and Presenter's Notes

Title: JavaServer Pages


1
JavaServer Pagesés Java Beans
  • Fabók Zsolt
  • Általános Informatikai Tanszék
  • Miskolci Egyetem

2
JSP és a beanek
  • Három tag
  • ltjspuseBeangt
  • ltjspsetPropertygt
  • ltjspgetPropertygt

3
ltjspuseBeangt
  • Felhasználása objektumok, javaBeanek,
    példányosítása.

4
ltjspuseBeangt (folyt.)
  • Attribútumai
  • id
  • scope
  • type
  • class
  • beanName

5
ltjspuseBeangt muködése
  • id és scope attribútumok segítségével megpróbálja
    megkeresni az objektumot a megfelelo névtérben.
  • Az "oldalon" létrehoz egy változót, melynek neve
    az id -nek felel majd meg, és típusa a type -nak.

6
ltjspuseBeangt muködése (folyt.)
  • Ha megtalálta az objektumot a fenti névtérben,
    akkor type típusúvá teszi (ha kell akkor
    típuskényszerítéssel - sikertelen castolás esetén
    kivétel keletkezik (java.lang.ClassCastException)
    és a feldolgozása a tag -nak véget ér).

7
ltjspuseBeangt muködése (folyt.)
  • Ha nem találta meg az objektumot, akkor (3 eset)
  • De a class -ban megadott osztálynak van default
    konstruktora akkor azzal példányosítja, bekerül a
    megadott névtérbe, majd "oldalszintu" változóvá
    avanzsál. Ha nem tudta példányosítani, akkor a
    java.lang.InstantionException kivétel kerül
    kiváltásra.

8
ltjspuseBeangt muködése (folyt.)
  • De a beanName attribútum meg van adva akkor a
    java.beans.Beans.instantiate() metódust hívja meg
    a servlet ClassLoader -vel és a megadott névvel.
    Ha sikeres akkor hozzárendeli a beant az adott
    "oldalszintu" változóhoz, és elhelyezi a
    megadott névtérbe.
  • Ha sem a class sem a beanName attribútum nincs
    megadva, akkor a java.lang.InstantionException
    kerül kiváltásra.

9
Lehet, nem lehet, kötelezo...
  • type és class értéke lehet osztálynév.
  • beanName lehet egy a java.beans.Bean.instantiate()
    -tal példányosítható javaBean.
  • beanName lehet futásidoben kiértékelodo kifejezés
    is.

10
Lehet, nem lehet, kötelezo... (folyt.)
  • class és beanName nem lehet egyszerre megadva
  • Ha type és class is meg van adva, akkor a class
    értékül adható kell, hogy legyen type -nak.
  • id -t kötelezo megadni.
  • Új objektum létrehozásakor a class -nak vagy a
    type beanName párosnak szerepelnie kell.

11
scope értéke lehet...
  • page
  • Az objektumot a javax.servlet.jsp.PageContext
    objektumban keresi.
  • Az új objektumot itt is tárolja.
  • élettartama egyetlen oldal élettartama
  • megjegyzés ez az alapértelmezett.

12
scope értéke lehet... (folyt.)
  • request
  • A javax.servlet.ServletRequest objektumban
    keresi.
  • Az új objektumot szintén itt tárolja.
  • élettartalma a kérés kiszolgálás idejére
    vonatkozik.

13
scope értéke lehet... (folyt.)
  • session
  • A javax.servlet.http.HttpSession objektumban
    keresi.
  • Az új objektum itt tárolódik.
  • élettartama a session (ülés) lejártával,
    érvénytelenítésével vagy az alkalmazás
    terminálásával ér véget.

14
scope értéke lehet... (folyt.)
  • application
  • A javax.servlet.ServletContext objektumban
    keresi.
  • Az új itt tárolódik.
  • élettartama az egész alkalmazás élettartamával
    azonos.

15
ltjspsetPropertygt
  • Feladata a ltjspuseBeangt által létrehozott
    "elem" tulajdonságainak beállításra szolgál.

16
ltjspsetPropertygt attribútumai
  • property értéke lehet konkrét property név
  • property értéke lehet is (ebben az esetben
    minden olyan tulajdonság beállításra kerül a
    megfelel értékkel, amely név a ServletRequest
    objektumban is megtalálható)
  • Mindkét esetben, ha kell akkor tipuskonverzió
    hajtódik végre.

17
ltjspsetPropertygt attribútumai (folyt.)
  • param attribútumot akkor kell használni, ha a
    ServletRequest ben tárolt név nem azonos a
    beanben tárolt tulajdonság nevével.
  • value attribútummal futási idoben rendelhetünk
    értket a megfelelo tulajdonsághoz.

18
ltjspgetPropertygt
  • Feladata beanben adott tulajdonságának
    lekérdezése.

19
ltjspgetPropertygt (folyt.)
  • A name -ben megadott bean példány
    (beanInstanceName) getX() (X - propertyName)
    metódust hívja, majd kiirja az implicit out
    objektum segítségével (println).
  • BeanInfo !!!

20
Esettanulmány
21
Esettanulmány (folyt.)
22
Esettanulmány (folyt.)
23
Esettanulmány (folyt.)
24
Esettanulmány (folyt.)
25
Kiinduló állapot...
26
Új értékek beállítása...
27
Send után...
28
Új böngészoben...
29
Másik gépen...
30
Thank you
for your
attention!
Write a Comment
User Comments (0)
About PowerShow.com