JSP implicita objekt
⚡ Smart sammanfattning
Implicita JSP-objekt är fördefinierade variabler som servlet-behållaren skapar automatiskt under sidöversättning, vilket gör det möjligt för utvecklare att komma åt utdataströmmar, förfrågningar, svar, sessioner och applikationsdata direkt inuti en sida utan manuell deklaration eller extra konfiguration.
Vad är JSP implicit objekt?
- JSP implicita objekt skapas under översättningsfasen av JSP till servleten.
- Dessa objekt kan direkt användas i skript som går i servicemetoden.
- De skapas av behållaren automatiskt och de kan nås med hjälp av objekt.
Hur många implicita objekt är tillgängliga i JSP?
Det finns 9 typer av implicita objekt tillgängliga i behållaren:
- Out
- FÖRFRÅGAN
- Svar
- Konfig
- Ansökan
- Session Test
- Sidkontext
- Sida
- undantag
Låt oss studera en efter en
1) Ut
- Ut är ett av de implicita objekten för att skriva data till bufferten och skicka utdata till klienten som svar
- Out-objektet låter oss komma åt servletens utdataström
- Out är ett objekt för javax.servlet.jsp.jspWriter klass
- När du arbetar med servlett, vi behöver skrivarobjekt
Exempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru JSP1</title> </head> <body> <% int num1=10;int num2=20; out.println("num1 is " +num1); out.println("num2 is "+num2); %> </body> </html>
Förklaring av koden:
Code Linje 11-12– ut används för att skriva ut till utdataström
När vi kör ovanstående kod får vi följande utdata:
Produktion:
- I utgången får vi värdena för num1 och num2
2) Begäran
- Begäranobjektet är en instans av java.servlet.http.HttpServletRequest och det är ett av argumenten för tjänstemetoden
- Det kommer att skapas av behållare för varje begäran.
- Den kommer att användas för att begära information som parameter, rubrikinformation, servernamn, etc.
- Den använder getParameter() för att komma åt parametern begäran.
Exempel:
Implicit_jsp2.jsp(formulär från vilket förfrågan skickas till guru.jsp)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru form JSP2</title> </head> <body> <form action="guru.jsp"> <input type="text" name="username"> <input type="submit" value="submit"> </form> </body> </html>
Guru.jsp (där åtgärden utförs)
Förklaring av kod:
Code Rad 10–13: I implicit_jsp2.jsp(form) skickas begäran, därför bearbetas variabeln användarnamn och skickas till guru.jsp vilket är JSP:s åtgärd.
Guru.jsp
Code Rad 10–11: Det är action jsp där begäran behandlas, och användarnamnet är hämtat från formuläret jsp.
När du kör ovanstående kod får du följande utdata
Produktion:
När du skriver test och klickar på skicka-knappen får du följande utdata "Välkomsttest."
3) Svar
- "Response" är en instans av klass som implementerar HttpServletResponse-gränssnittet
- Container genererar detta objekt och skickar till metoden _jspservice() som parameter
- "Svarsobjekt" kommer att skapas av behållaren för varje begäran.
- Det representerar svaret som kan ges till klienten
- Det implicita responsobjektet används för att innehållstyp, lägga till cookie och omdirigera till svarssida
Exempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru JSP4</title> </head> <body> <%response.setContentType("text/html"); %> </body> </html>
Förklaring av koden:
Code Linje 11: I responsobjektet kan vi ställa in innehållstypen
Här ställer vi bara in innehållstypen i responsobjektet. Därför finns det ingen utgång för detta.
4) Konfig
- "Config" är av typen java.servlet.servletConfig
- Den skapas av behållaren för varje jsp-sida
- Den används för att hämta initialiseringsparametern i web.xml
Exempel:
Web.xml (ange namn och mappning)ping av servleten)
Implicit_jsp5.jsp (hämtar värdet av servletnamn)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru JSP5</title> </head> <body> <% String servletName = config.getServletName(); out.println("Servlet Name is " +servletName);%> </body> </html>
Förklaring av koden:
I web.xml
Code Rad 14-17: I web.xml har vi kartaping av servlets till klasserna.
Implicit_jsp5.jsp
Code Rad 10-11: För att få namnet på servleten i JSP kan vi använda config.getServletName, vilket hjälper oss att få namnet på servleten.
När du kör ovanstående kod får du följande utdata:
Produktion:
- Servletnamnet är "GuruServlet” som namnet finns i web.xml
5) Ansökan
- Application object (kodrad 10) är en instans av javax.servlet.ServletContext och det används för att hämta kontextinformationen och attributen i JSP.
- Applikationsobjekt skapas av behållare en per applikation, när applikationen distribueras.
- Servletcontext-objektet innehåller en uppsättning metoder som används för att interagera med servletbehållaren. Vi kan hitta information om servletbehållaren
Exempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Implicit JSP6</title> </head> <body> <% application.getContextPath(); %> </body> </html>
Förklaring av koden:
- I ovanstående kod hjälper applikationsattributet till att få kontextsökvägen till JSP-sidan.
6) Session
- Sessionen innehåller objektet "httpsession" (kodrad 10).
- Sessionsobjekt används för att hämta, ställa in och ta bort attribut till sessionsomfång och används även för att hämta sessionsinformation
Exempel:
Implicit_jsp7(attributet är satt)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit JSP</title> </head> <body> <% session.setAttribute("user","GuruJSP"); %> <a href="implicit_jsp8.jsp">Click here to get user name</a> </body> </html>
Implicit_jsp8.jsp (getAttribute)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>implicit Guru JSP8</title> </head> <body> <% String name = (String)session.getAttribute("user"); out.println("User Name is " +name); %> </body> </html>
Förklaring av koden:
Implicit_jsp7.jsp
Code Linje 11: vi ställer in attributet användare i sessionsvariabeln, och det värdet kan hämtas från sessionen i vilken jsp som helst anropas från den (_jsp8.jsp).
Code Linje 12: Vi anropar en annan jsp på href där vi kommer att få värdet för attribut användare som är satt.
Implicit_jsp8.jsp
Code Linje 11: Vi hämtar värdet av användarattributet från sessionsobjektet och visar det värdet
När du kör ovanstående kod får du följande utdata:
När du klickar på länken för användarnamnet. Du kommer att få följande utdata.
Produktion:
- När vi klickar på länken som ges i implicit_jsp7.jsp omdirigeras vi till andra jsp-sidan, dvs (_jsp8.jsp) sida och vi får värdet från sessionsobjektet för användarattributet (_jsp7.jsp).
7) Sidkontext
- Detta objekt är av typen sidkontext.
- Den används för att hämta, ställa in och ta bort attributen från ett visst omfång
Omfattningarna är av 4 typer:
- Sida
- FÖRFRÅGAN
- Session Test
- Ansökan
Exempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru JSP9</title> </head> <body> <% pageContext.setAttribute("student","gurustudent",pageContext.PAGE_SCOPE); String name = (String)pageContext.getAttribute("student"); out.println("student name is " +name); %> </body> </html>
Förklaring av koden:
Code Linje 11: vi ställer in attributet med hjälp av objektet pageContext, och det har tre parametrar:
- Nyckel
- Värderar
- Omfattning
I ovanstående kod är nyckeln student och värdet är "gurustudent" medan omfattningen är sidomfattningen. Här är omfattningen "sida" och den kan endast användas med sidomfattning.
Code Linje 12: Vi får värdet av attributet med hjälp av pageContext
När du kör ovanstående kod får du följande utdata:
Produktion:
- Utdata kommer att skriva ut "studentens namn är gurustudent".
8) Sida
- Sidans implicita variabel innehåller det för närvarande körda servletobjektet för motsvarande jsp.
- Fungerar som detta objekt för aktuell jsp-sida.
Exempel:
I det här exemplet använder vi sidobjekt för att få sidnamnet med metoden toString
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru JSP10</title> </head> <body> <% String pageName = page.toString(); out.println("Page Name is " +pageName);%> </body> </html>
Förklaring av koden:
Code Rad 10-11: I det här exemplet försöker vi använda metoden toString() för sidobjektet och försöker få strängnamnet på JSP-sidan.
När du kör koden får du följande utdata:
Produktion:
- Utdata är strängnamnet på ovanstående jsp-sida
9) Undantag
- Undantag är det implicita objektet för den kastbara klassen.
- Det används för undantagshantering i JSP.
- Undantagsobjektet kan endast användas på felsidor.Exempel:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" isErrorPage="true"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Implicit Guru JSP 11</title> </head> <body> <%int[] num1={1,2,3,4}; out.println(num1[5]);%> <%= exception %> </body> </html>
Förklaring av koden:
Code Linje 10-12 – Den har en array av tal, dvs num1 med fyra element. I utgången försöker vi skriva ut det femte elementet i arrayen från num1, som inte deklareras i arraylistan. Så det används för att få undantagsobjekt av jsp.
Produktion:
Vi får ArrayIndexOfBoundsException i arrayen där vi får en num1 array av det femte elementet.












