Cos'è l'oggetto implicito JSP?
- Gli oggetti impliciti JSP vengono creati durante la fase di traduzione di JSP nel servlet.
- Questi oggetti possono essere utilizzati direttamente negli scriplet che vanno nel metodo del servizio.
- Vengono creati automaticamente dal contenitore ed è possibile accedervi utilizzando gli oggetti.
Quanti oggetti impliciti sono disponibili in JSP?
Sono disponibili 9 tipi di oggetti impliciti nel contenitore:
- su
- richiesta
- risposta
- config
- applicazione
- sessione
- pageContext
- pagina
- eccezione
Consente di studiare uno per uno
su
- Out è uno degli oggetti impliciti per scrivere i dati nel buffer e inviare l'output al client in risposta
- L'oggetto Out ci consente di accedere al flusso di output del servlet
- Out è l'oggetto della classe javax.servlet.jsp.jspWriter
- Mentre lavoriamo con servlet, abbiamo bisogno dell'oggetto printwriter
Esempio:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP1 implicito <% int num1 = 10; int num2 = 20;out.println ("num1 è" + num1);out.println ("num2 è" + num2);%>
Spiegazione del codice:
Code Line 11-12 - out viene utilizzata per stampare nel flusso di output
Quando eseguiamo il codice sopra, otteniamo il seguente output:
Produzione:
- Nell'output, otteniamo i valori di num1 e num2
Richiesta
- L'oggetto richiesta è un'istanza di java.servlet.http.HttpServletRequest ed è uno degli argomenti del metodo di servizio
- Verrà creato da container per ogni richiesta.
- Verrà utilizzato per richiedere informazioni come parametri, informazioni di intestazione, nome del server, ecc.
- Utilizza getParameter () per accedere al parametro di richiesta.
Esempio:
Implicit_jsp2.jsp (modulo da cui viene inviata la richiesta a guru.jsp)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru implicito da JSP2
Guru.jsp (dove viene eseguita l'azione)
Spiegazione del codice:
Riga di codice 10-13: In implicit_jsp2.jsp (modulo) viene inviata la richiesta, quindi la variabile nome utente viene elaborata e inviata a guru.jsp che è un'azione di JSP.
Guru.jsp
Riga di codice 10-11: è l'azione jsp in cui viene elaborata la richiesta e il nome utente viene preso dal modulo jsp.
Quando esegui il codice precedente, ottieni il seguente output
Produzione:
Quando scrivi test e fai clic sul pulsante di invio, viene visualizzato il seguente output "Test di benvenuto".
Risposta
- "Response" è un'istanza di classe che implementa l'interfaccia HttpServletResponse
- Container genera questo oggetto e passa al metodo _jspservice () come parametro
- "Oggetto risposta" verrà creato dal contenitore per ogni richiesta.
- Rappresenta la risposta che può essere data al cliente
- L'oggetto implicito di risposta viene utilizzato per il tipo di contenuto, l'aggiunta di cookie e il reindirizzamento alla pagina di risposta
Esempio:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP4 implicito <% response.setContentType ("text / html"); %>
Spiegazione del codice:
Riga di codice 11: nell'oggetto risposta possiamo impostare il tipo di contenuto
Qui stiamo impostando solo il tipo di contenuto nell'oggetto risposta. Quindi, non c'è output per questo.
Config
- "Config" è del tipo java.servlet.servletConfig
- Viene creato dal contenitore per ogni pagina jsp
- Viene utilizzato per ottenere il parametro di inizializzazione in web.xml
Esempio:
Web.xml (specifica il nome e la mappatura del servlet)
Implicit_jsp5.jsp (ottenendo il valore del nome servlet)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP5 implicito <% String servletName = config.getServletName ();out.println ("Servlet Name is" + servletName);%>
Spiegazione del codice:
In web.xml
Riga di codice 14-17: In web.xml abbiamo la mappatura dei servlet alle classi.
Implicit_jsp5.jsp
Riga di codice 10-11: per ottenere il nome del servlet in JSP, possiamo usare config.getServletName, che ci aiuterà a ottenere il nome del servlet.
Quando esegui il codice sopra, ottieni il seguente output:
Produzione:
- Il nome del servlet è "GuruServlet" poiché il nome è presente in web.xml
Applicazione
- L'oggetto applicazione (riga di codice 10) è un'istanza di javax.servlet.ServletContext e viene utilizzato per ottenere le informazioni di contesto e gli attributi in JSP.
- L'oggetto applicazione viene creato dal contenitore uno per applicazione, quando l'applicazione viene distribuita.
- L'oggetto servletcontext contiene una serie di metodi che vengono utilizzati per interagire con il contenitore servlet.
Esempio:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru Implicit JSP6 <% application.getContextPath (); %>
Spiegazione del codice:
- Nel codice precedente, l'attributo dell'applicazione aiuta a ottenere il percorso di contesto della pagina JSP.
Sessione
- La sessione contiene l'oggetto "httpsession" (riga di codice 10).
- L'oggetto sessione viene utilizzato per ottenere, impostare e rimuovere attributi nell'ambito della sessione e anche per ottenere informazioni sulla sessione
Esempio:
Implicit_jsp7 (l'attributo è impostato)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>JSP implicito <% session.setAttribute ("user", "GuruJSP"); %> Fare clic qui per ottenere il nome utente
Implicit_jsp8.jsp (getAttribute)
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP8 implicito <% String name = (String) session.getAttribute ("user");out.println ("Il nome utente è" + nome);%>
Spiegazione del codice:
Implicit_jsp7.jsp
Riga di codice 11: stiamo impostando l'attributo user nella variabile di sessione e quel valore può essere recuperato dalla sessione in qualsiasi jsp sia chiamato da quello (_jsp8.jsp).
Riga codice 12: Stiamo chiamando un altro jsp su href in cui otterremo il valore per l'attributo user impostato.
Implicit_jsp8.jsp
Riga di codice 11: stiamo ottenendo il valore dell'attributo utente dall'oggetto della sessione e stiamo visualizzando quel valore
Quando esegui il codice sopra, ottieni il seguente output:
Quando fai clic sul collegamento per il nome utente. Otterrai il seguente output.
Produzione:
- Quando si fa clic sul collegamento fornito in implicit_jsp7.jsp, si viene reindirizzati alla seconda pagina jsp, ovvero la pagina (_jsp8.jsp) e si ottiene il valore dall'oggetto sessione dell'attributo utente (_jsp7.jsp).
pageContext:
- Questo oggetto è del tipo di pagecontext.
- Viene utilizzato per ottenere, impostare e rimuovere gli attributi da un determinato ambito
Gli ambiti sono di 4 tipi:
- Pagina
- Richiesta
- Sessione
- Applicazione
Esempio:
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP9 implicito <% pageContext.setAttribute ("student", "gurustudent", pageContext.PAGE_SCOPE);String name = (String) pageContext.getAttribute ("student");out.println ("il nome dello studente è" + nome);%>
Spiegazione del codice:
Riga di codice 11: stiamo impostando l'attributo utilizzando l'oggetto pageContext e ha tre parametri:
- Chiave
- Valore
- Scopo
Nel codice precedente, la chiave è student e il valore è "gurustudent" mentre l'ambito è l'ambito della pagina. Qui l'ambito è "pagina" e può essere ottenuto utilizzando solo l'ambito della pagina.
Riga di codice 12: stiamo ottenendo il valore dell'attributo utilizzando pageContext
Quando esegui il codice sopra, ottieni il seguente output:
Produzione:
- L'output stamperà "il nome dello studente è gurustudent".
Pagina
- La variabile implicita di pagina contiene l'oggetto servlet attualmente eseguito per il jsp corrispondente.
- Agisce come questo oggetto per la pagina jsp corrente.
Esempio:
In questo esempio, stiamo usando l'oggetto pagina per ottenere il nome della pagina usando il metodo toString
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru JSP10 implicito <% String pageName = page.toString ();out.println ("Il nome della pagina è" + pageName);%>
Spiegazione del codice:
Riga di codice 10-11: in questo esempio, stiamo cercando di utilizzare il metodo toString () dell'oggetto pagina e di ottenere il nome della stringa della pagina JSP.
Quando esegui il codice ottieni il seguente output:
Produzione:
- L'output è il nome della stringa della pagina jsp sopra
Eccezione
- L'eccezione è l'oggetto implicito della classe throwable.
- Viene utilizzato per la gestione delle eccezioni in JSP.
- L'oggetto eccezione può essere utilizzato solo nelle pagine di errore.
Esempio:
<% @ page language = "java" contentType = "text / 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]);%><% = eccezione%>
Spiegazione del codice:
Riga di codice 10-12 - Ha un array di numeri, cioè num1 con quattro elementi. Nell'output, stiamo cercando di stampare il quinto elemento dell'array da num1, che non è dichiarato nell'elenco dell'array. Quindi viene utilizzato per ottenere l'oggetto eccezione del jsp.
Produzione:
Stiamo ottenendo ArrayIndexOfBoundsException nell'array in cui stiamo ottenendo un array num1 del quinto elemento.