Introduzione al ciclo di vita di JSP
In questo articolo, discuteremo del ciclo di vita di JSP. Pagine del server Java, una tecnologia lato server che si assume la responsabilità dell'elaborazione sul server.
1. Dove abbiamo bisogno di JSP?
- Bene, se ti interessa lo sviluppo basato sul Web e ciò che vediamo è la creazione di siti Web dinamici, i JSP svolgono un ruolo vitale poiché il rendering viene eseguito in modo dinamico.
- I JSP funzionano solo su HTML sottostante, il corpo di una pagina è costituito solo da markup HTML di base ma ci sono alcuni segnaposto, parametri, valori di elenco, iteratori che sono fattibili solo con JSP, HTML ti dà una visualizzazione statica solo mentre è necessario eseguire qualsiasi risoluzione in fase di esecuzione richiede una gestione dinamica, quindi i JSP appaiono come una soluzione lì.
- JSP consente la separazione della generazione e della presentazione del contenuto
Facciamo qui un esempio di base che ti darà un'idea di questo rendering dinamico.
Il contenuto o la logica all'interno sono resi dinamicamente e sono passati solo dal back-end.
Ora andiamo avanti e comprendiamo il ciclo di vita dei JSP e come vengono effettivamente resi nel front-end per fornire ai clienti un'esperienza pronta o pronta.
2. Ciclo di vita di JSP:
Ci sono alcune fasi in cui questo ciclo è diviso, definito come segue:
- Fase di traduzione - in cui il file JSP viene convertito nel file servlet.
- Fase di compilazione - in cui il file servlet viene convertito in classe servlet.
- Caricamento di classe
- Istantanea dell'oggetto servlet
- Il contenitore servlet chiama il metodo jspInit () per l'inizializzazione
- Il contenitore servlet chiama _jspService () per l'elaborazione della richiesta
- Pulizia del JSP, qui il contenitore servlet chiamerà il metodo jspDestroy ().
Ora permettiamo di elaborare i passaggi sopra menzionati per avere un quadro più chiaro -
Passo 1
Nella fase di traduzione, il contenitore servlet traduce JSP in un servlet in modo che la codifica basata su tag ottenga una forma equivalente in java in modo che Java Virtual Machine (JVM) possa capire che (poiché non capirà la lingua dei tag) . Questa traduzione viene eseguita dal server al momento della distribuzione dell'applicazione Web o quando JSP riceve la prima richiesta di esecuzione.
Passo 2
Ora arriva il momento di compilare il codice sorgente, ovvero convertire il codice servlet in codice byte java (il codice byte java è un set di istruzioni per la macchina virtuale java).
Passaggio 3
La classe servlet caricata dall'origine JSP verrà ora caricata nel contenitore.
Passaggio 4
Dopo aver caricato un file di classe dal contenitore Web, il contenitore JSP ora utilizza un costruttore senza argomenti per creare un'istanza della classe servlet. Ora, una volta che il contenitore inizializza gli oggetti invocando il metodo jsplnit ().
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Passaggio 5
Ora arriva il momento per l'elaborazione della richiesta, qui gli oggetti servlet inizializzati JSP equivalenti vengono utilizzati per elaborare le richieste client. Il metodo _jspService () viene richiamato dal contenitore Web. Questa chiamata viene eseguita sull'oggetto servlet che passa l'oggetto HTTPServletRequest e l'oggetto HTTPServletResponse per le rispettive richieste e risposte. Si noti che non esiste alcuna disposizione per sovrascrivere il metodo _jspService ().
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Passaggio 6
L'ultimo passaggio si chiama JSP clean up, JSP deve essere rimosso dall'uso dal contenitore e il metodo jspDestroy () è usato per lo stesso, questo metodo deve essere invocato una sola volta. Esiste una disposizione per sovrascrivere questo metodo e ciò può essere fatto per le istanze in cui vogliamo eseguire la nostra azione personalizzata come il rilascio della connessione per il database, ecc.
public void jspDestory()
(
// snippet is placed here
)
Esempio :
Creiamo un modulo di accesso per la nostra applicazione di esempio e utilizzeremo JSP per il rendering di determinati contenuti qui.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
My Login Form
<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>
UserName
Password
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" | <%@ page language="java" contentType="text/html; charset=ISO-8859-1" |
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
My Login Form
<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>
UserName
Password
Nell'esempio sopra, il codice inserito all'interno viene reso dinamicamente come abbiamo già detto in precedenza, ora una volta che questa richiesta è stata inviata, verrà ricevuta dal controller dell'azione che è fondamentalmente una classe Java che contiene i parametri corrispondenti ai nomi citati nella File JSP.
Un contenitore servlet crea un oggetto modale e il contenuto può essere indicato in altri JSP facendo riferimento a questo particolare controller.
Questo tipo di approccio basato su MVC al giorno d'oggi trova un posto con tecnologie come -
- Spring MVC
- Puntoni 2
- servlet
Spring MVC e Struts 2 hanno introdotto il loro URI specifico per utilizzare i JSP in modo personalizzato e introducono anche diverse varietà di tag per il completamento automatico, iteratore, elenco, ecc.
Quindi JSP trova un posto ideale in molti framework grazie alla sua flessibilità.
Conclusione
- Quindi abbiamo appreso che i siti Web dinamici hanno il loro frontend reso tramite JSP, mentre le pagine statiche possono essere direttamente indirizzate all'HTML in quanto non hanno bisogno di manipolazioni di dati / contenuti da quel momento in poi.
- Le moderne tecnologie sono compatibili con i JSP e sono utilizzate da strutture a molla e strutture a molla che trovano posto in grandi applicazioni legate a banche, SCM, negozi al dettaglio, ecc.
- Compatibile con le chiamate AJAX per il rendering dinamico.
- Un'applicazione non può essere di tipo pagina singola poiché ogni volta che è necessario caricare una pagina dal back-end.
- Le piastrelle possono essere utilizzate per i formati di layout di base in montanti e molle e ciò che dobbiamo rendere ancora e ancora è solo il corpo.
- Alla fine i codici vengono convertiti in equivalente HTML nel front-end.
- I JSP differenziano il concetto di presentazione e generazione di contenuti.
- Gli intercettori sono forniti da vari framework che semplificano la vita degli sviluppatori, così come le utility in strut sono fornite per i processi di upload dei file, ecc.
Articoli consigliati
Questa è stata una guida al ciclo di vita di JSP. Qui abbiamo discusso l'introduzione, i passaggi e l'esempio del ciclo di vita di JSP. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- JSP vs ASP
- Domande sull'intervista AJAX
- Che cos'è MVC?
- JSP vs Servlet
- Iteratori in C #