Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.