JSP implicitni objekti: Kompletna lekcija

Sadržaj:

Anonim

Što je JSP implicitni objekt?

  • JSP implicitni objekti kreiraju se tijekom faze prevođenja JSP-a na servlet.
  • Ti se objekti mogu izravno koristiti u skriptama koje idu u metodu usluge.
  • Spremnik ih stvara automatski i može im se pristupiti pomoću objekata.

Koliko je implicitnih objekata dostupno u JSP-u?

U spremniku je dostupno 9 vrsta implicitnih objekata:

  1. van
  2. zahtjev
  3. odgovor
  4. konfiguracija
  5. primjena
  6. sjednica
  7. pageContext
  8. stranica
  9. iznimka

Proučavajmo jedan po jedan

van

  • Out je jedan od implicitnih objekata za pisanje podataka u međuspremnik i slanje rezultata klijentu kao odgovor
  • Out objekt omogućuje nam pristup izlaznom toku servleta
  • Out je objekt klase javax.servlet.jsp.jspWriter
  • Dok radimo s servletom, trebamo objekt pisača

Primjer:

<% @ 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);%>

Objašnjenje koda:

Kodna linija 11-12 - out koristi se za ispis u izlazni tok

Kada izvršimo gornji kod, dobit ćemo sljedeći izlaz:

Izlaz:

  • U izlazu dobivamo vrijednosti num1 i num2

Zahtjev

  • Objekt zahtjeva instanca je java.servlet.http.HttpServletRequest i jedan je od argumenata metode usluge
  • Stvorit će se spremnikom za svaki zahtjev.
  • Koristit će se za traženje podataka poput parametara, podataka zaglavlja, naziva poslužitelja itd.
  • Koristi getParameter () za pristup parametru zahtjeva.

Primjer:

Implicit_jsp2.jsp (obrazac iz kojeg se zahtjev šalje guru.jsp)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicitni guru obrazac JSP2 

Guru.jsp (gdje se poduzima radnja)

Objašnjenje koda:

Redak koda 10-13: U implicit_jsp2.jsp (obrazac) šalje se zahtjev, stoga se varijabla korisničko ime obrađuje i šalje guru.jsp što je akcija JSP-a.

Guru.jsp

Kodni redak 10-11: Radi se o akciji jsp gdje se zahtjev obrađuje, a korisničko ime preuzima iz obrasca jsp.

Kada izvršite gornji kod, dobit ćete sljedeći izlaz

Izlaz:

Kada napišete test i kliknete na gumb za slanje, dobit ćete sljedeći izlaz "Test dobrodošlice".

Odgovor

  • "Odgovor" je instanca klase koja implementira sučelje HttpServletResponse
  • Spremnik generira ovaj objekt i kao parametar prelazi na metodu _jspservice ()
  • Spremnik će stvoriti "objekt odgovora" za svaki zahtjev.
  • Predstavlja odgovor koji se može dati klijentu
  • Implicitni objekt odgovora koristi se za vrstu sadržaja, dodavanje kolačića i preusmjeravanje na stranicu odgovora

Primjer:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicitni guru JSP4 <% response.setContentType ("text / html"); %>

Objašnjenje koda:

Linija koda 11: U objektu odgovora možemo postaviti vrstu sadržaja

Ovdje postavljamo samo vrstu sadržaja u objektu odgovora. Stoga za to nema rezultata.

Config

  • "Config" je tipa java.servlet.servletConfig
  • Stvara ga spremnik za svaku jsp stranicu
  • Koristi se za dobivanje parametra inicijalizacije u web.xml

Primjer:

Web.xml (navodi naziv i mapiranje servleta)

Implicit_jsp5.jsp (dobivanje vrijednosti naziva servleta)

<% @ 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 servleta);%>

Objašnjenje koda:

U web.xml

Linija koda 14-17: U web.xml imamo mapiranje servleta u klase.

Implicit_jsp5.jsp

Redak koda 10-11: Da bismo dobili ime servleta u JSP-u, možemo koristiti config.getServletName, koji će nam pomoći da dobijemo ime servleta.

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

Izlaz:

  • Naziv servleta je "GuruServlet" jer je ime prisutno u web.xml

Primjena

  • Objekt aplikacije (redak koda 10) instanca je javax.servlet.ServletContext i koristi se za dobivanje informacija o kontekstu i atributa u JSP-u.
  • Objekt aplikacije kreira se spremnikom jedan po aplikaciji, kada se aplikacija postavi u upotrebu.
  • Objekt Servletcontext sadrži skup metoda koje se koriste za interakciju sa spremnikom servleta. Možemo pronaći informacije o spremniku servleta

Primjer:

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

Objašnjenje koda:

  • U gore navedenom kodu atribut aplikacije pomaže dobiti kontekst put JSP stranice.

Sjednica

  • Sesija sadrži objekt "httpsession" (redak koda 10).
  • Objekt sesije koristi se za dobivanje, postavljanje i uklanjanje atributa u opseg sesije, a koristi se i za dobivanje informacija o sesiji

Primjer:

Implicit_jsp7 (postavljen je atribut)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicitni JSP <% session.setAttribute ("korisnik", "GuruJSP"); %> Kliknite ovdje da biste dobili korisničko ime 

Implicit_jsp8.jsp (getAttribute)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> implicitni Guru JSP8 <% String name = (String) session.getAttribute ("user");out.println ("Korisničko ime je" + ime);%>

Objašnjenje koda:

Implicit_jsp7.jsp

Linija koda 11: postavljamo korisnika atributa u varijablu sesije, a ta se vrijednost može dohvatiti iz sesije u zavisnosti od toga koji se jsp od nje poziva (_jsp8.jsp).

Redak koda 12: Pozivamo drugi jsp na href u kojem ćemo dobiti vrijednost za korisnika atributa koja je postavljena.

Implicit_jsp8.jsp

Linija koda 11: Dobivamo vrijednost korisničkog atributa iz objekta sesije i prikazujemo tu vrijednost

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

Kada kliknete na vezu za korisničko ime. Dobit ćete sljedeći izlaz.

Izlaz:

  • Kada kliknemo na vezu navedenu u implicit_jsp7.jsp, tada smo preusmjereni na drugu jsp stranicu, tj. (_Jsp8.jsp) stranicu i dobivamo vrijednost iz objekta sesije korisničkog atributa (_jsp7.jsp).

pageContext:

  • Ovaj je objekt tipa pagecontext.
  • Koristi se za dobivanje, postavljanje i uklanjanje atributa iz određenog opsega

Opsezi su 4 vrste:

  • Stranica
  • Zahtjev
  • Sjednica
  • Primjena

Primjer:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicitni Guru JSP9 <% pageContext.setAttribute ("student", "gurustudent", pageContext.PAGE_SCOPE);Naziv niza = (Niz) pageContext.getAttribute ("student");out.println ("ime učenika je" + ime);%>

Objašnjenje koda:

Linija koda 11: atribut postavljamo pomoću objekta pageContext i on ima tri parametra:

  • Ključ
  • Vrijednost
  • Opseg

U gornjem kodu ključ je student, a vrijednost je "gurustudent", dok je opseg opseg stranice. Ovdje je opseg "stranica" i može se dobiti samo pomoću opsega stranice.

Redak koda 12: Vrijednost atributa dobivamo pomoću pageContext

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

Izlaz:

  • Izlaz će ispisati "ime studenta je gurustudent".

Stranica

  • U implicitnoj varijabli stranice nalazi se trenutno izvršeni objekt servleta za odgovarajući jsp.
  • Djeluje kao ovaj objekt za trenutnu jsp stranicu.

Primjer:

U ovom primjeru koristimo objekt stranice da bismo dobili naziv stranice metodom 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 stranice je" + ime stranice);%>

Objašnjenje koda:

Redak koda 10-11: U ovom primjeru pokušavamo koristiti metodu toString () objekta stranice i pokušavamo dobiti naziv niza JSP stranice.

Kada izvršite kod, dobit ćete sljedeći izlaz:

Izlaz:

  • Izlaz je naziv niza iznad jsp stranice

Iznimka

  • Iznimka je implicitni objekt klase koja se može baciti.
  • Koristi se za rukovanje iznimkama u JSP-u.
  • Objekt iznimke može se koristiti samo na stranicama s pogreškama.

    Primjer:

<% @ 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]);%><% = iznimka%>

Objašnjenje koda:

Kodna linija 10-12 - ima niz brojeva, tj. Num1 s četiri elementa. U izlazu pokušavamo ispisati peti element niza iz num1, koji nije deklariran na popisu polja. Dakle, koristi se za dobivanje objekta iznimke jsp-a.

Izlaz:

Dobivamo ArrayIndexOfBoundsException u polju gdje dobivamo num1 niz petog elementa.