Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Java web programozás 6..

Hasonló előadás


Az előadások a következő témára: "Java web programozás 6.."— Előadás másolata:

1 Java web programozás 6.

2 Tartalom Java Servletek Működése Minta Servlet A kérés feldolgozása
HTML kód generálása HTML űrlapok feldolgozása Fájl feltöltése A kérés delegálása Munkamenet kezelés Filter készítése 2009

3 Működés Fogalma Metódusai Többszálúság
Szerver oldali (web rétegbeli) komponens, amely kérés-válasz alapú feldolgozást végez. Mindig egy Java web-alkalmazáshoz tartozik. Metódusai doPost(): A POST-al érkező kérések. doGet(): A GET-tel érkező kérések. Többszálúság Ha több kérés érkezik egyszerre, akkor a web-konténer több szálat indít, amelyek a Servlet ugyanazon metódusát hívják meg. (doPost, doGet). A kód kritikus metódusait lássuk el, a „synchrozized” kulcsszóval. 2009

4 Létrehozás (1) 2009

5 Létrehozás (2) 2009

6 Létrehozás (3) 2009

7 Létrehozás (4) 2009

8 Minta Servlet A Servlet kódja 2009

9 Minta Servlet A telepítés-leíró (web.xml) 2009

10 A kérés feldolgozása HttpServletRequest Metódusok: A kérés fejlécek
Ezen objektum tartalmazza a klienstől jövő adatokat. Metódusok: String getHeader(String name): A „name” nevezetű fejléc megszerzése. Enumerations getHeaderNames(): Az összes fejléc elkérése A kérés fejlécek Host: A kliens gép neve User-Agent: A böngésző Accept-Language: A támogatott nyelv Accept-Charset: A támogatott karakterkészlet 2009

11 HTML kód generálása 2009

12 HTML kód generálása 2009

13 HTML űrlapok feldolgozása
Az űrlapok adatai egy gomb („Submit”) megnyomása után továbbítódnak a szerver felé. A HTML FORM „action” attribútumában kell megadni, hogy mely szerver oldali komponenshez kerüljenek a FORM-ban megadott adatok. A „Submit” gomb hatására elküldésre kerülnek az adatok (action attribútum!) A szerver oldalon, a „HttpServletRequest” objektum „getParameter(String name)” metódusával kérjük el a paramétereket. A „name”, a HTML form-ban megadott elem neve. 2009

14 A HTML űrlap 2009

15 A feldolgozó Servlet 2009

16 Fájl feltöltése Egy fájl feltöltő űrlap elem kell a HTML FORM-ba
A Servlet-nek fel kell dolgoznia a kapott tartalmat. A -ról segéd API. 2009

17 Fájl feltöltése A Servlet kódja 2009

18 A kérés delegálása A klienstől érkező kérést továbbíthatjuk egy servlet vagy pl. egy JSP lap felé. Az URL, változatlanul továbbítódik a fogadóhoz. A „RequestDispatcher” objektum segítségével, kétféleképpen delegálhatunk: forward(ServletRequest request, ServletResponse response): A válasz generálása, a fogadó oldal dolga Statikus fájl esetén, annak tartalma belegenerálódik a válaszba include(ServletRequest request, ServletResponse response): Más erőforrások tartalmát fűzhetjük bele a válaszba A válasz generálása a küldő oldal dolga 2009

19 A delegáló Servlet 2009

20 A fogadó JSP lap 2009

21 Munkamenet kezelés Munkamenet („session”) Állapotmentesség feloldása
Az ugyanazon klienstől érkezett kérések összessége. Állapotmentesség feloldása A HTTP protokoll, ún. állapotmentes.  Megoldás: A) Sütik („cookie”) B) URL-újraírás Session kezelése A „HttpSession” objektum A „HttpServletRequest” objektum „getSession(boolean create)” metódusával elkérve. create == true: session létrehozása create == false: null, ha korábban még nem hoztuk létre. 2009

22 Munkamenet kezelés Session kezelése A munkamenet („Session”) lezárása
setAttribute(String key, Object value): Tetszőleges objektum tárolása, a „key” azonosításával. getAttribute(String key): eltárolt objektum lekérdezése a „key” alapján. A munkamenet („Session”) lezárása A): A böngésző bezárásakor B): Programozott módon: „session.invalidate()” C): Alapértelmezett lejárati idő: A „web.xml” –ben Munkamenet azonosítása Minden Session objektumnak van egy ID-ja, ami a „getId()” metódussal, lekérdezhető. 2009

23 Sütik Speciális HTTP fejlécek A kliens oldalon tárolódnak el
A sütik a böngészőben letilthatóak A kliensnek, a szerver által küldött azonosítót kell elmentenie, majd a munkamenet elévüléséig innen beolvassa a SESSIONID-t, amelyet elküld a szervernek. Fejlécek: Set-Cookie: a szerver által generált azonosító Cookie: a klienstől származó kérésekfejlécében. 2009

24 URL-újraírás A session azonosítója, ekkor az URL-ben kerül elküldésre.
Pl. Ekkor, minden hivatkozáshoz (amelyet a servlet-ünk generál) hozzá kell fűznünk, a session azonosítót. A mai korszerű alkalmazások (JSP, JSF), az objektumok, és adatok SESSION-ben való kezelését, automatikus módon oldják meg. Nekünk csak a SESSION nyitásáról, és lezárásáról kell gondoskodnunk! 2009

25 Szűrő (Filter) készítése
Egy szűrő segítségével feldolgozható a klienstől érkező kérés, ill. a válasz. Lényegében a kliens és a szerver közé ékelődő objektum. Nagyon hasonló a Servletekhez. Az osztály, implementálja a „javax.servlet.Filter” interfészt. A tényleges szűrést a „doFilter(ServletRequest request, ServletResponse response, FilterChain chain)” metódus végzi. 2009

26 Szűrő (Filter) készítése
2009

27 Szűrő (Filter) készítése
2009

28 Szűrő (Filter) készítése
2009

29 Szűrő (Filter) regisztrálása
2009


Letölteni ppt "Java web programozás 6.."

Hasonló előadás


Google Hirdetések