JSP implicit objektumok: Teljes bemutató

Tartalomjegyzék:

Anonim

Mi az a JSP Implicit objektum?

  • A JSP implicit objektumok a JSP fordítási fázisában jönnek létre a szervletre.
  • Ezeket az objektumokat közvetlenül lehet használni a szolgáltatás metódusába tartozó töredékekben.
  • A tároló automatikusan létrehozza őket, és objektumok segítségével érhetők el.

Hány implicit objektum érhető el a JSP-ben?

A tárolóban 9féle implicit objektum áll rendelkezésre:

  1. ki
  2. kérés
  3. válasz
  4. konfig
  5. Alkalmazás
  6. ülés
  7. pageContext
  8. oldal
  9. kivétel

Tanulmányozzuk egyenként

ki

  • Az Out az egyik implicit objektum, amely az adatokat a pufferbe írja és válaszként kimenetet küld az ügyfélnek
  • Out objektum lehetővé teszi számunkra, hogy hozzáférjünk a szervlet kimeneti adatfolyamához
  • Az Out a javax.servlet.jsp.jspWriter osztály objektuma
  • A szervlet kisalkalmazása közben szükségünk van printwriter objektumra

Példa:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP1 <% int szám1 = 10; int szám2 = 20;out.println ("a num1 is" ​​+ num1);out.println ("a num2 is" + num2);%>

A kód magyarázata:

A 11-12-es kódsor - kimenet a kimeneti adatfolyamba történő nyomtatásra szolgál

A fenti kód végrehajtásakor a következő kimenetet kapjuk:

Kimenet:

  • A kimenetben megkapjuk a num1 és a num2 értékeit

Kérés

  • A kérelemobjektum a java.servlet.http.HttpServletRequest példánya, és ez a szolgáltatás metódusának egyik argumentuma
  • A konténer minden kéréshez létrehozza.
  • Olyan információk kérésére szolgál, mint a paraméter, a fejléc, a szerver neve stb.
  • A getParameter () segítségével éri el a kérés paraméterét.

Példa:

Implicit_jsp2.jsp (űrlap, amelyből a kérést a guru.jsp címre küldjük)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP2 űrlap 

Guru.jsp (ahol a műveletet végrehajtják)

A kód magyarázata:

10-13 kódsor: Az implicit_jsp2.jsp (űrlap) kérelem elküldésével a felhasználónév változó feldolgozásra kerül és elküldésre kerül a guru.jsp címre, amely a JSP művelete.

Guru.jsp

Kódsor10-11: Ez a jsp művelet, ahol a kérelmet feldolgozzuk, és a felhasználónév a jsp űrlapból származik.

A fenti kód végrehajtásakor a következő kimenetet kapja

Kimenet:

Amikor tesztet írsz és rákattintasz az elküldés gombra, akkor a következő "Welcome Test" kimenetet kapod.

Válasz

  • A "Response" egy osztálypéldány, amely a HttpServletResponse interfészt valósítja meg
  • A tároló létrehozza ezt az objektumot, és paraméterként átmegy a _jspservice () metódusra
  • "Válaszobjektumot" a tároló hoz létre minden egyes kéréshez.
  • Ez az ügyfél számára adható választ jelöli
  • A válasz implicit objektumot a tartalom típusához, a cookie hozzáadásához és az átirányításhoz használják a válaszoldalra

Példa:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP4 <% response.setContentType ("szöveg / html"); %>

A kód magyarázata:

11. kódsor: A válaszobjektumban beállíthatjuk a tartalom típusát

Itt csak a válaszobjektum tartalmi típusát állítjuk be. Ezért erre nincs kimenet.

Konfig

  • A "Config" típusú java.servlet.servletConfig
  • A tároló hozza létre minden jsp oldalhoz
  • Arra szolgál, hogy megkapja az inicializálási paramétert a web.xml fájlban

Példa:

Web.xml (a szervlet nevét és leképezését adja meg)

Implicit_jsp5.jsp (kiszolgálónév értékének lekérése)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP5 <% Karakterlánc kiszolgálónév = config.getServletName ();out.println ("A szervlet neve" + szervletNév);%>

A kód magyarázata:

A web.xml fájlban

Kódsor 14-17: A web.xml fájlban a szervleteket hozzárendeljük az osztályokhoz.

Implicit_jsp5.jsp

Kódsor 10-11: A szervlet nevének megszerzéséhez a JSP-ben használhatjuk a config.getServletName fájlt, amely segítségünkre lesz a szervlet nevének megszerzésében.

A fenti kód végrehajtásakor a következő kimenetet kapja:

Kimenet:

  • A szervlet neve "GuruServlet", mivel a név megtalálható a web.xml fájlban

Alkalmazás

  • Az alkalmazásobjektum (10. kódsor) a javax.servlet.ServletContext példánya, és arra szolgál, hogy a JSP-ben lekérdezze a kontextus információkat és attribútumokat.
  • Az alkalmazásobjektumot alkalmazásonként egy konténer hozza létre, amikor az alkalmazás telepítésre kerül.
  • A Servletcontext objektum egy sor olyan módszert tartalmaz, amelyeket a szervlet-konténerrel való interakcióhoz használnak. Információkat találhatunk a servlet-konténerről

Példa:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru Implicit JSP6 <% application.getContextPath (); %>

A kód magyarázata:

  • A fenti kódban az alkalmazásattribútum segít megszerezni a JSP oldal kontextus elérési útját.

Ülés

  • A munkamenet "httpsession" objektumot tartalmaz (10. kódsor).
  • A munkamenetobjektum a munkamenet hatókörének attribútumainak megszerzésére, beállítására és eltávolítására szolgál, valamint a munkamenet információk megszerzésére is

Példa:

Implicit_jsp7 (az attribútum be van állítva)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit JSP <% session.setAttribute ("felhasználó", "GuruJSP"); %> Kattintson ide a felhasználónév megszerzéséhez 

Implicit_jsp8.jsp (getAttribute)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> implicit Guru JSP8 <% Karakterlánc neve = (karakterlánc) session.getAttribute ("felhasználó");out.println ("A felhasználó neve" + név);%>

A kód magyarázata:

Implicit_jsp7.jsp

11. kódsor : a felhasználó attribútumot a munkamenet változóban állítjuk be, és ez az érték lekérhető a munkamenetből, amelyikben a jsp-t meghívják (_jsp8.jsp).

12. kódsor : Egy másik jsp-t hívunk a href-en, amelyben megkapjuk az attribútum felhasználó számára beállított értéket.

Implicit_jsp8.jsp

11. kódsor: A felhasználói attribútum értékét a munkamenet objektumból kapjuk meg, és megjelenítjük ezt az értéket

A fenti kód végrehajtásakor a következő kimenetet kapja:

Amikor a felhasználónév linkjére kattint. A következő kimenetet kapja.

Kimenet:

  • Ha rákattintunk az implicit_jsp7.jsp fájlban megadott linkre, akkor átirányítunk egy második jsp oldalra, azaz (_jsp8.jsp) oldalra, és megkapjuk az értéket a felhasználói attribútum session objektumától (_jsp7.jsp).

pageContext:

  • Ez az objektum típusú pagecontext.
  • Az attribútumok lekérésére, beállítására és eltávolítására szolgál egy adott hatókörből

A hatókörök 4 típusból állnak:

  • Oldal
  • Kérés
  • Ülés
  • Alkalmazás

Példa:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP9 <% pageContext.setAttribute ("hallgató", "gurustudent", pageContext.PAGE_SCOPE);Karakterlánc neve = (Karakterlánc) pageContext.getAttribute ("hallgató");out.println ("a hallgató neve" + név);%>

A kód magyarázata:

11. kódsor : az attribútumot a pageContext objektum segítségével állítjuk be, és három paramétere van:

  • Kulcs
  • Érték
  • Hatály

A fenti kódban a kulcs a hallgató és az érték "gurustudens", míg a hatókör az oldal terjedelme. Itt a hatókör "oldal", és csak az oldal terjedelmét használhatja.

12. kódsor: Megkapjuk az attribútum értékét a pageContext használatával

A fenti kód végrehajtásakor a következő kimenetet kapja:

Kimenet:

  • A kimenet kinyomtatja a "hallgató neve gurustudent".

Oldal

  • Az oldal implicit változója megtartja az aktuálisan végrehajtott servlet objektumot a megfelelő jsp számára.
  • Az aktuális jsp oldal objektumaként működik.

Példa:

Ebben a példában az oldalobjektum segítségével kapjuk meg az oldal nevét a toString módszerrel

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP10 <% String pageName = oldal.toString ();out.println ("Az oldal neve" + oldalNév);%>

A kód magyarázata:

Kódsor 10-11: Ebben a példában megpróbáljuk használni az oldalobjektum toString () metódusát, és megpróbáljuk megszerezni a JSP oldal karakterlánc nevét.

A kód végrehajtásakor a következő kimenetet kapja:

Kimenet:

  • Az output a fenti jsp oldal karaktersorozata

Kivétel

  • A kivétel a dobható osztály implicit tárgya.
  • Kivételek kezelésére használják a JSP-ben.
  • A kivételobjektum csak hibaoldalakon használható.

    Példa:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%> Implicit Guru JSP 11 <% int [] szám1 = {1,2,3,4};out.println (szám1 [5]);%><% =%% kivétel

A kód magyarázata:

10-12 kódsor - Számos tömböt tartalmaz, azaz num1 négy elemmel. A kimenetben a tömb ötödik elemét próbáljuk kinyomtatni a num1-ből, amely nincs deklarálva a tömblistában. Tehát a jsp kivétel objektumának megszerzésére használják.

Kimenet:

ArrayIndexOfBoundsException-t kapunk a tömbben, ahol az ötödik elem num1 tömbjét kapjuk.