JSP Implicit Objects: Complete Tutorial

Indholdsfortegnelse:

Anonim

Hvad er JSP Implicit objekt?

  • JSP implicitte objekter oprettes under JSP's oversættelsesfase til servlet.
  • Disse objekter kan bruges direkte i scriplets, der følger servicemetoden.
  • De oprettes automatisk af containeren, og de kan tilgås ved hjælp af objekter.

Hvor mange implicitte objekter er tilgængelige i JSP?

Der er 9 typer implicitte objekter til rådighed i containeren:

  1. ud
  2. anmodning
  3. respons
  4. config
  5. Ansøgning
  6. session
  7. pageContext
  8. side
  9. undtagelse

Lad os studere en efter en

ud

  • Out er et af de implicitte objekter til at skrive dataene til bufferen og sende output til klienten som svar
  • Out-objekt giver os adgang til servlets outputstream
  • Out er objekt i klassen javax.servlet.jsp.jspWriter
  • Når vi arbejder med servlet, har vi brug for en printerforfatter

Eksempel:

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP1 <% int num1 = 10; int num2 = 20;out.println ("num1 er" + num1);out.println ("num2 er" + num2);%>

Forklaring af koden:

Kodelinje 11-12 - ud bruges til at udskrive i output stream

Når vi udfører ovenstående kode, får vi følgende output:

Produktion:

  • I output får vi værdierne num1 og num2

Anmodning

  • Anmodningsobjektet er en forekomst af java.servlet.http.HttpServletRequest, og det er et af argumenterne for servicemetoden
  • Det oprettes af container til hver anmodning.
  • Det vil blive brugt til at anmode om oplysninger som parameter, headerinformation, servernavn osv.
  • Det bruger getParameter () til at få adgang til anmodningsparameteren.

Eksempel:

Implicit_jsp2.jsp (formular, hvorfra anmodningen sendes til guru.jsp)

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru form JSP2 

Guru.jsp (hvor handlingen udføres)

Forklaring af kode:

Kodelinje 10-13: I implicit_jsp2.jsp (form) anmodning sendes, derfor behandles det variable brugernavn og sendes til guru.jsp, som er en handling fra JSP.

Guru.jsp

Kode Line10-11: Det er handling jsp, hvor anmodningen behandles, og brugernavn er taget fra form jsp.

Når du udfører ovenstående kode, får du følgende output

Produktion:

Når du skriver test og klikker på knappen Send, får du følgende output "Velkomsttest."

Respons

  • "Svar" er en forekomst af klasse, der implementerer HttpServletResponse-grænsefladen
  • Container genererer dette objekt og overføres til _jspservice () -metoden som parameter
  • "Svarobjekt" oprettes af containeren til hver anmodning.
  • Det repræsenterer det svar, der kan gives til klienten
  • Svarets implicitte objekt bruges til indholdstype, tilføj cookie og omdirigeres til svarsiden

Eksempel:

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP4 <% respons.setContentType ("tekst / html"); %>

Forklaring af koden:

Kodelinje 11: I responsobjektet kan vi indstille indholdstypen

Her indstiller vi kun indholdstypen i responsobjektet. Derfor er der ingen output til dette.

Konfig

  • "Config" er af typen java.servlet.servletConfig
  • Det oprettes af containeren for hver jsp-side
  • Det bruges til at få initialiseringsparameteren i web.xml

Eksempel:

Web.xml (specificerer navnet og kortlægningen af ​​servlet)

Implicit_jsp5.jsp (får værdien af ​​servletnavnet)

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP5 <% String servletName = config.getServletName ();out.println ("Servletnavn er" + servletnavn);%>

Forklaring af koden:

I web.xml

Kodelinje 14-17: I web.xml kortlægger vi servlets til klasserne.

Implicit_jsp5.jsp

Kodelinje 10-11: For at få navnet på servlet i JSP kan vi bruge config.getServletName, som vil hjælpe os med at få navnet på servlet.

Når du udfører ovenstående kode, får du følgende output:

Produktion:

  • Servletnavn er "GuruServlet", da navnet findes i web.xml

Ansøgning

  • Applikationsobjekt (kodelinje 10) er en forekomst af javax.servlet.ServletContext, og det bruges til at hente kontekstoplysninger og attributter i JSP.
  • Applikationsobjekt oprettes af container en pr. Applikation, når applikationen bliver implementeret.
  • Servletcontext-objekt indeholder et sæt metoder, der bruges til at interagere med servletbeholderen. Vi kan finde oplysninger om servletbeholderen

Eksempel:

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

Forklaring af koden:

  • I ovenstående kode hjælper applikationsattribut med at få kontekststien til JSP-siden.

Session

  • Sessionen holder "httpsession" -objekt (kodelinje 10).
  • Sessionsobjekt bruges til at hente, indstille og fjerne attributter til sessionsomfang og bruges også til at få sessionsoplysninger

Eksempel:

Implicit_jsp7 (attribut er indstillet)

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit JSP <% session.setAttribute ("bruger", "GuruJSP"); %> Klik her for at få brugernavn 

Implicit_jsp8.jsp (getAttribute)

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> implicit Guru JSP8 <% String name = (String) session.getAttribute ("bruger");out.println ("Brugernavn er" + navn);%>

Forklaring af koden:

Implicit_jsp7.jsp

Kodelinje 11: vi indstiller attributbrugeren i sessionsvariablen, og den værdi kan hentes fra sessionen, uanset hvilken jsp der kaldes fra den (_jsp8.jsp).

Kodelinje 12: Vi kalder en anden jsp på href, hvor vi får den værdi for attributbruger, der er indstillet.

Implicit_jsp8.jsp

Kodelinje 11: Vi får værdien af ​​brugerattribut fra sessionsobjekt og viser denne værdi

Når du udfører ovenstående kode, får du følgende output:

Når du klikker på linket for brugernavnet. Du får følgende output.

Produktion:

  • Når vi klikker på linket i implicit_jsp7.jsp, omdirigeres vi til den anden jsp-side, dvs. (_jsp8.jsp) -siden, og vi får værdien fra sessionsobjektet for brugerattributten (_jsp7.jsp).

sideContext:

  • Dette objekt er af typen sidekontekst.
  • Det bruges til at hente, indstille og fjerne attributterne fra et bestemt omfang

Omfanget er af 4 typer:

  • Side
  • Anmodning
  • Session
  • Ansøgning

Eksempel:

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP9 <% pageContext.setAttribute ("student", "gurustudent", pageContext.PAGE_SCOPE);String name = (String) pageContext.getAttribute ("student");out.println ("studentens navn er" + navn);%>

Forklaring af koden:

Kodelinje 11: vi indstiller attributten ved hjælp af pageContext-objekt, og den har tre parametre:

  • Nøgle
  • Værdi
  • Anvendelsesområde

I ovenstående kode er nøglen studerende, og værdien er "gurustudent", mens omfanget er sidens omfang. Her er omfanget "side", og det kan kun bruges med sideomfang.

Kodelinje 12: Vi får værdien af ​​attributten ved hjælp af pageContext

Når du udfører ovenstående kode, får du følgende output:

Produktion:

  • Outputtet udskriver "studerendes navn er gurustudent".

Side

  • Side implicit variabel indeholder det aktuelt udførte servlet-objekt for det tilsvarende jsp.
  • Fungerer som dette objekt for den aktuelle jsp-side.

Eksempel:

I dette eksempel bruger vi sideobjekt til at få sidenavnet ved hjælp af toString-metoden

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implicit Guru JSP10 <% String pageName = page.toString ();out.println ("Sidens navn er" + sidenavn);%>

Forklaring af koden:

Kodelinje 10-11: I dette eksempel forsøger vi at bruge metoden toString () for sideobjektet og forsøge at få strengnavnet på JSP-siden.

Når du udfører koden, får du følgende output:

Produktion:

  • Output er strengnavn på ovenstående jsp-side

Undtagelse

  • Undtagelse er den implicitte genstand for den kastbare klasse.
  • Det bruges til undtagelseshåndtering i JSP.
  • Undtagelsesobjektet kan kun bruges på fejlsider.

    Eksempel:

<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%> Implicit Guru JSP 11 <% int [] num1 = {1,2,3,4};out.println (num1 [5]);%><% = undtagelse%>

Forklaring af koden:

Kodelinje 10-12 - Den har en række tal, dvs. num1 med fire elementer. I output forsøger vi at udskrive det femte element i arrayet fra num1, som ikke er erklæret i array-listen. Så det bruges til at få undtagelsesobjekt til jsp.

Produktion:

Vi får ArrayIndexOfBoundsException i arrayet, hvor vi får et num1 array med det femte element.