Kaj je implicitni objekt JSP?
- Implicitni objekti JSP se ustvarijo v fazi prevajanja JSP v strežniški programček.
- Te predmete je mogoče neposredno uporabiti v skriptih, ki spadajo v način storitve.
- Vsebnik jih ustvari samodejno in do njih je mogoče dostopati s pomočjo predmetov.
Koliko implicitnih predmetov je na voljo v JSP?
V vsebniku je na voljo 9 vrst implicitnih predmetov:
- ven
- prošnja
- odziv
- konfig
- aplikacijo
- sejo
- pageContext
- strani
- izjema
Preučimo enega za drugim
ven
- Out je eden od implicitnih predmetov za zapisovanje podatkov v vmesnik in pošiljanje odjemalca v odgovor
- Izhodni objekt nam omogoča dostop do izhodnega toka strežniškega programčka
- Out je objekt razreda javax.servlet.jsp.jspWriter
- Med delom s strežniškim programčkom potrebujemo predmet tiskalnika
Primer:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni guru JSP1 <% int num1 = 10; int num2 = 20;out.println ("num1 je" + num1);out.println ("num2 je" + num2);%>
Pojasnilo kode:
Code Line 11-12 - out se uporablja za tiskanje v izhodni tok
Ko izvedemo zgornjo kodo, dobimo naslednji izhod:
Izhod:
- V izhodu dobimo vrednosti num1 in num2
Prošnja
- Objekt zahteve je primerek java.servlet.http.HttpServletRequest in je eden od argumentov storitvene metode
- Ustvaril ga bo vsebnik za vsako zahtevo.
- Uporabil se bo za zahtevanje informacij, kot so parameter, informacije o glavi, ime strežnika itd.
- Za dostop do parametra zahteve uporablja getParameter ().
Primer:
Implicit_jsp2.jsp (obrazec, iz katerega se zahteva pošlje na guru.jsp)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni guru iz JSP2
Guru.jsp (kjer se ukrepa)
Pojasnilo kode:
Vrstica kode 10-13: V implicit_jsp2.jsp (obrazec) je poslana zahteva, zato je spremenljivka uporabniško ime obdelana in poslana na guru.jsp, ki je dejanje JSP.
Guru.jsp
Koda Vrstica 10-11: Zahteva se obdeluje v obliki jsp, uporabniško ime pa se vzame iz obrazca jsp.
Ko zaženete zgornjo kodo, dobite naslednji izhod
Izhod:
Ko napišete test in kliknete na gumb za oddajo, se prikaže naslednji izhod "Dobrodošli test".
Odziv
- "Response" je primerek razreda, ki izvaja vmesnik HttpServletResponse
- Vsebnik ustvari ta objekt in kot parameter preide na metodo _jspservice ()
- Za vsako zahtevo bo vsebnik ustvaril "odzivni objekt".
- Predstavlja odziv, ki ga lahko dobi stranka
- Objekt implicitnega odziva se uporablja za vrsto vsebine, doda piškotek in preusmeri na stran z odzivom
Primer:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni Guru JSP4 <% response.setContentType ("besedilo / html"); %>
Pojasnilo kode:
Koda 11: V odzivnem objektu lahko nastavimo vrsto vsebine
Tu nastavimo samo vrsto vsebine v odzivnem objektu. Zato za to ni rezultata.
Konfig
- "Config" je tipa java.servlet.servletConfig
- Ustvari ga vsebnik za vsako jsp stran
- Uporablja se za pridobitev parametra za inicializacijo v web.xml
Primer:
Web.xml (določa ime in preslikavo strežniškega programčka)
Implicit_jsp5.jsp (pridobivanje vrednosti imena strežniškega programčka)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni Guru JSP5 <% Niz servletName = config.getServletName ();out.println ("Ime servleta je" + ime servlet);%>
Pojasnilo kode:
V web.xml
Vrstica kode 14-17: V web.xml imamo preslikavo strežnikov v razrede.
Implicit_jsp5.jsp
Vrstica kode 10-11: Če želite dobiti ime servleta v JSP, lahko uporabimo config.getServletName, ki nam bo pomagal dobiti ime servleta.
Ko zaženete zgornjo kodo, dobite naslednji izhod:
Izhod:
- Ime strežnika je "GuruServlet", saj je ime prisotno v web.xml
Uporaba
- Aplikacijski objekt (kodna vrstica 10) je primerek javax.servlet.ServletContext in se uporablja za pridobivanje informacij o kontekstu in atributov v JSP.
- Objekt aplikacije ustvari po en vsebnik na aplikacijo, ko se aplikacija uvede.
- Objekt Servletcontext vsebuje nabor metod, ki se uporabljajo za interakcijo s vsebnikom strežniškega programčka. Najdemo informacije o vsebniku strežniškega programčka
Primer:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru Implicit JSP6 <% application.getContextPath (); %>
Pojasnilo kode:
- V zgornji kodi atribut aplikacije pomaga dobiti kontekstno pot strani JSP.
Seja
- V seji je predmet »httpsession« (kodna vrstica 10).
- Objekt seje se uporablja za pridobivanje, nastavljanje in odstranjevanje atributov v obseg seje in se uporablja tudi za pridobivanje informacij o seji
Primer:
Implicit_jsp7 (atribut je nastavljen)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni JSP <% session.setAttribute ("uporabnik", "GuruJSP"); %> Kliknite tukaj, da dobite uporabniško ime
Implicit_jsp8.jsp (getAttribute)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>implicitni Guru JSP8 <% Ime niza = (niz) session.getAttribute ("uporabnik");out.println ("Uporabniško ime je" + ime);%>
Pojasnilo kode:
Implicit_jsp7.jsp
Vrstica kode 11: uporabnika atributa nastavljamo v spremenljivki seje in to vrednost je mogoče pridobiti iz seje, ne glede na to, kateri od njih je poklican jsp (_jsp8.jsp).
Vrstica kode 12: Href prikličemo še en jsp, v katerem bomo dobili vrednost za uporabnika atributa, ki je nastavljena.
Implicit_jsp8.jsp
Vrstica kode 11: Vrednost uporabniškega atributa dobimo iz predmeta seje in prikažemo to vrednost
Ko zaženete zgornjo kodo, dobite naslednji izhod:
Ko kliknete povezavo za uporabniško ime. Dobili boste naslednji izhod.
Izhod:
- Ko kliknemo na povezavo, podano v implicit_jsp7.jsp, smo preusmerjeni na drugo jsp stran, tj. Stran (_jsp8.jsp), vrednost pa dobimo iz predmeta seje uporabniškega atributa (_jsp7.jsp).
pageContext:
- Ta predmet je vrste pagecontext.
- Uporablja se za pridobivanje, nastavljanje in odstranjevanje atributov iz določenega obsega
Področja uporabe so 4 vrste:
- Stran
- Prošnja
- Seja
- Uporaba
Primer:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni Guru JSP9 <% pageContext.setAttribute ("študent", "gurustudent", pageContext.PAGE_SCOPE);Ime niza = (niz) pageContext.getAttribute ("študent");out.println ("ime študenta je" + ime);%>
Pojasnilo kode:
11. vrstica kode: atribut nastavljamo s pomočjo predmeta pageContext in ima tri parametre:
- Ključ
- Vrednost
- Obseg
V zgornji kodi je ključ študent in vrednost je "gurustudent", medtem ko je obseg obseg strani. Tu je obseg "stran" in lahko ga dobite samo z uporabo obsega strani.
Vrstica kode 12: Vrednost atributa dobimo s pomočjo pageContext
Ko zaženete zgornjo kodo, dobite naslednji izhod:
Izhod:
- V rezultatu bo natisnjeno "ime študenta je gurustudent".
Stran
- V implicitni spremenljivki strani je trenutno izveden objekt strežniškega programčka za ustrezni jsp.
- Deluje kot ta objekt za trenutno stran jsp.
Primer:
V tem primeru uporabljamo objekt strani, da dobimo ime strani z metodo toString
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Implicitni Guru JSP10 <% String pageName = page.toString ();out.println ("Ime strani je" + ime_strane);%>
Pojasnilo kode:
Vrstica kode 10-11: V tem primeru poskušamo uporabiti metodo toString () predmeta strani in poskušamo pridobiti ime niza strani JSP.
Ko zaženete kodo, dobite naslednji izhod:
Izhod:
- Izhod je ime niza zgoraj jsp strani
Izjema
- Izjema je implicitni objekt razreda za metanje.
- Uporablja se za obdelavo izjem v JSP.
- Izjema objekt je mogoče uporabiti samo na straneh z napakami.
Primer:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%>Implicitni Guru JSP 11 <% int [] num1 = {1,2,3,4};out.println (num1 [5]);%><% = izjema%>
Pojasnilo kode:
Vrstica kode 10-12 - vsebuje niz številk, tj. Številka1 s štirimi elementi. V izhodu poskušamo natisniti peti element matrike iz num1, ki ni naveden na seznamu matrike. Tako se uporablja za pridobitev predmeta izjeme jsp.
Izhod:
V matriki, kjer dobimo matriko num1 petega elementa, dobimo ArrayIndexOfBoundsException.