JSP Implicit Objects: Complete Tutorial

Innholdsfortegnelse:

Anonim

Hva er JSP Implisitt objekt?

  • JSP implisitte objekter opprettes under oversettelsesfasen av JSP til servletten.
  • Disse objektene kan brukes direkte i scriplets som følger tjenestemetoden.
  • De blir opprettet av containeren automatisk, og de kan nås ved hjelp av objekter.

Hvor mange implisitte objekter er tilgjengelige i JSP?

Det er 9 typer implisitte objekter tilgjengelig i containeren:

  1. ute
  2. be om
  3. respons
  4. config
  5. applikasjon
  6. økt
  7. sideContext
  8. side
  9. unntak

Lar oss studere en etter en

ute

  • Out er et av de implisitte objektene for å skrive dataene til bufferen og sende utdata til klienten som svar
  • Ut-objekt lar oss få tilgang til servlets utgangsstrøm
  • Out er objekt for klassen javax.servlet.jsp.jspWriter
  • Mens vi arbeider med servlet, trenger vi en skriverforfatter

Eksempel:

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt Guru JSP1 <% int num1 = 10; int num2 = 20;out.println ("num1 er" + num1);out.println ("num2 er" + num2);%>

Forklaring av koden:

Kodelinje 11-12 - ut brukes til å skrive ut i utgangsstrømmen

Når vi utfører koden ovenfor, får vi følgende utgang:

Produksjon:

  • I utgangen får vi verdiene num1 og num2

Be om

  • Forespørselobjektet er en forekomst av java.servlet.http.HttpServletRequest, og det er et av argumentene for servicemetoden
  • Det vil bli opprettet av container for hver forespørsel.
  • Den vil bli brukt til å be om informasjon som parameter, topptekstinformasjon, servernavn, etc.
  • Den bruker getParameter () for å få tilgang til forespørselsparameteren.

Eksempel:

Implicit_jsp2.jsp (skjema som forespørsel sendes til guru.jsp)

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt guruform JSP2 

Guru.jsp (der handlingen blir tatt)

Forklaring av kode:

Kodelinje 10-13: I implisitt_jsp2.jsp-forespørsel (skjema) blir sendt, derav blir det variable brukernavnet behandlet og sendt til guru.jsp som er handling av JSP.

Guru.jsp

Kode Line10-11: Det er handling jsp der forespørselen behandles, og brukernavn er hentet fra skjema jsp.

Når du utfører koden ovenfor, får du følgende utdata

Produksjon:

Når du skriver test og klikker på send-knappen, får du følgende utgang "Velkomsttest."

Respons

  • "Svar" er en forekomst av klasse som implementerer HttpServletResponse-grensesnittet
  • Container genererer dette objektet og overføres til _jspservice () -metoden som parameter
  • "Svarobjekt" vil opprettes av beholderen for hver forespørsel.
  • Det representerer svaret som kan gis til klienten
  • Svarets implisitte objekt brukes til innholdstype, legge til informasjonskapsel og omdirigere til svarsiden

Eksempel:

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt Guru JSP4 <% respons.setContentType ("text / html"); %>

Forklaring av koden:

Kodelinje 11: I responsobjektet kan vi stille inn innholdstype

Her setter vi bare innholdstypen i responsobjektet. Derfor er det ingen utdata for dette.

Konfig

  • "Config" er av typen java.servlet.servletConfig
  • Den opprettes av beholderen for hver jsp-side
  • Den brukes til å få initialiseringsparameteren i web.xml

Eksempel:

Web.xml (spesifiserer navnet og kartleggingen av servletten)

Implicit_jsp5.jsp (får verdien av servletnavnet)

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt Guru JSP5 <% String servletName = config.getServletName ();out.println ("Servlet Name is" + servletName);%>

Forklaring av koden:

I web.xml

Kodelinje 14-17: I web.xml har vi kartlegging av servlets til klassene.

Implisitt_jsp5.jsp

Kodelinje 10-11: For å få navnet på servletten i JSP, kan vi bruke config.getServletName, som vil hjelpe oss å få navnet på servletten.

Når du utfører koden ovenfor, får du følgende utdata:

Produksjon:

  • Servlet-navnet er "GuruServlet" ettersom navnet er tilstede i web.xml

applikasjon

  • Applikasjonsobjekt (kodelinje 10) er en forekomst av javax.servlet.ServletContext, og det brukes til å få kontekstinformasjon og attributter i JSP.
  • Programobjekt opprettes av container en per applikasjon når applikasjonen blir distribuert.
  • Servletcontext-objekt inneholder et sett med metoder som brukes til å samhandle med servletbeholderen. Vi kan finne informasjon om servletbeholderen

Eksempel:

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru Implisitt JSP6 <% application.getContextPath (); %>

Forklaring av koden:

  • I koden ovenfor hjelper applikasjonsattributtet til å få kontekstbanen til JSP-siden.

Økt

  • Økten inneholder "httpsession" -objekt (kodelinje 10).
  • Sessionsobjekt brukes til å hente, angi og fjerne attributter til øktomfanget og brukes også til å få øktinformasjon

Eksempel:

Implisitt_jsp7 (attributt er satt)

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt JSP <% session.setAttribute ("bruker", "GuruJSP"); %> Klikk her for å få brukernavn 

Implisitt_jsp8.jsp (getAttribute)

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> implisitt Guru JSP8 <% String name = (String) session.getAttribute ("user");out.println ("Brukernavn er" + navn);%>

Forklaring av koden:

Implisitt_jsp7.jsp

Kodelinje 11: vi setter attributtbrukeren i øktvariabelen, og den verdien kan hentes fra økten uansett hvilken jsp som heter fra den (_jsp8.jsp).

Kodelinje 12: Vi ringer til en annen jsp på href der vi får verdien for attributtbrukeren som er satt.

Implisitt_jsp8.jsp

Kodelinje 11: Vi får verdien av brukerattributtet fra øktobjektet og viser den verdien

Når du utfører koden ovenfor, får du følgende utgang:

Når du klikker på lenken for brukernavnet. Du får følgende utdata.

Produksjon:

  • Når vi klikker på lenken gitt i implisitt_jsp7.jsp, blir vi omdirigert til den andre jsp-siden, dvs. (_jsp8.jsp) -siden, og vi får verdien fra sesjonsobjektet til brukerattributtet (_jsp7.jsp).

pageContext:

  • Dette objektet er av typen sidekontekst.
  • Den brukes til å hente, angi og fjerne attributtene fra et bestemt omfang

Omfanget er av fire typer:

  • Side
  • Be om
  • Økt
  • applikasjon

Eksempel:

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt Guru JSP9 <% pageContext.setAttribute ("student", "gurustudent", pageContext.PAGE_SCOPE);String name = (String) pageContext.getAttribute ("student");out.println ("studentnavnet er" + navn);%>

Forklaring av koden:

Kodelinje 11: vi setter attributtet ved hjelp av pageContext-objekt, og det har tre parametere:

  • Nøkkel
  • Verdi
  • omfang

I koden ovenfor er nøkkelen student og verdien er "gurustudent" mens omfanget er sidens omfang. Her er omfanget "side", og det kan bare brukes ved bruk av sider.

Kodelinje 12: Vi får verdien av attributtet ved hjelp av pageContext

Når du utfører koden ovenfor, får du følgende utgang:

Produksjon:

  • Resultatet vil skrive ut "studentens navn er gurustudent".

Side

  • Side implisitt variabel inneholder det for tiden utførte servletobjektet for den tilsvarende jsp.
  • Fungerer som dette objektet for gjeldende jsp-side.

Eksempel:

I dette eksemplet bruker vi sideobjekt for å få sidenavnet ved hjelp av toString-metoden

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Implisitt Guru JSP10 <% String pageName = page.toString ();out.println ("Sidens navn er" + sidenavn);%>

Forklaring av koden:

Kodelinje 10-11: I dette eksemplet prøver vi å bruke metoden toString () for sideobjektet og prøve å få strengnavnet til JSP-siden.

Når du utfører koden får du følgende utgang:

Produksjon:

  • Output er strengnavn over jsp-siden

Unntak

  • Unntak er det implisitte objektet til den kastbare klassen.
  • Den brukes til unntakshåndtering i JSP.
  • Unntaksobjektet kan bare brukes på feilsider.

    Eksempel:

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%> Implisitt Guru JSP 11 <% int [] num1 = {1,2,3,4};out.println (num1 [5]);%><% = unntak%>

Forklaring av koden:

Kodelinje 10-12 - Den har en rekke tall, dvs. num1 med fire elementer. I utgangen prøver vi å skrive ut det femte elementet i matrisen fra num1, som ikke er deklarert i matriselisten. Så det brukes til å få unntaksobjekt til jsp.

Produksjon:

Vi får ArrayIndexOfBoundsException i matrisen der vi får en num1 matrise av det femte elementet.