La maggior parte di noi già sanno che le applicazioni normali possono essere facilmente costruiti utilizzando core Java concepts. Ma, quando si tratta di sviluppare applicazioni web, fondamenti Java avanzati,come JSP, Servlet, JDBC ecc., può aggiungere sopra alle capacità e le caratteristiche dell’applicazione e così sono essenziali per sviluppatori. Attraverso il mezzo di questo blog su Advanced Java Tutorial, ti darò una visione completa dei concetti fondamentali di Advance Java.
-
- Introduzione a Java avanzato
- JDBC
- Che cos’è JDBC?
- JDBC Architettura
- Procedura per creare JDBC Applicazione
- Driver JDBC di Tipo & Connessioni
- Java Servlet
- Introduzione a Java Servlet
- Servlet Ciclo di Vita
- Procedura per creare Servlet
- Sessione di Monitoraggio in Servlets
- JSP
- Introduzione alla JSP
- Ciclo di Vita di JSP
- JSP Elementi di Scripting
Si può anche passare attraverso la registrazione di Avanzata Java Tutorial dove si possono capire gli argomenti che in un modo dettagliato con esempi.
Advance Java Tutorial / J2EE, Java Servlets, JSP, JDBC / Java Certification Training | Edureka
Tutorial Java avanzato: Introduzione a Advanced Java
Advanced Java è tutto ciò che va oltre il Core Java – soprattutto le API definite in Java Enterprise Edition, include la programmazione Servlet, i servizi Web, l’API di persistenza, ecc. È una piattaforma di sviluppo di applicazioni aziendali Web & che segue fondamentalmente l’architettura server client &.
Tutorial Java avanzato: Necessità di Advance Java
Di seguito ho elencato alcuni importanti vantaggi di Advance Java:
- Advance Java cioè JEE (Java Enterprise Edition) offre la libreria per comprendere l’architettura Client-server per lo sviluppo di applicazioni Web che Core Java non supporta.
- J2EE è indipendente dalla piattaforma, ambiente Java Centric per lo sviluppo, la costruzione di & distribuzione di applicazioni Web-based on-line. Si compone inoltre di un insieme di servizi, API e protocolli, che fornisce la funzionalità necessaria per lo sviluppo di applicazioni basate su Web a più livelli.
- Sarai in grado di lavorare con server Web e applicazioni come Apache Tomcat, Glassfish ecc. Ma, in Core Java, non è possibile.
- Ci sono molti framework Java avanzati come Spring, JSF, Struts ecc. che consentono di sviluppare una transazione sicura basata applicazioni web per i domini come E-Commerce, bancario, legale, finanziario, sanitario, Inventario ecc.
- Per lavorare e comprendere le tecnologie calde come Hadoop e servizi Cloud, si dovrebbe essere preparati con core e concetti Java avanzati.
Spero che tu abbia capito perché Java avanzato è essenziale. Per una migliore comprensione, ho diviso questo articolo in tre sezioni. Ciascuna di queste sezione tratta di uno dei più importanti concetti di Java avanzato:
- JDBC (Java DataBase Connectivity)
- Java Servlet
- JSP (Java Servlet Pagine)
Così, ora iniziamo la nostra discussione e comprendere il concetto di Java Database Connectivity, un utile strumento per interagire con il database.
Tutorial Java avanzato: Introduzione a JDBC
JDBC è un’API Java standard per una connettività indipendente dal database tra il linguaggio di programmazione Java e una vasta gamma di database. Questa interfaccia del programma applicativo consente di codificare le istruzioni di richiesta di accesso, in Structured Query Language (SQL). Vengono quindi passati al programma che gestisce il database. Si tratta principalmente di aprire una connessione, creare un database SQL, eseguire query SQL e quindi arrivare all’output.
Possiamo utilizzare l’API JDBC per accedere ai dati tabulari memorizzati in qualsiasi database relazionale. Con l’aiuto dell’API JDBC, possiamo salvare, aggiornare, eliminare e recuperare i dati dai database. È simile all’Open Database Connectivity (ODBC) fornito da Microsoft.
Per una migliore comprensione del funzionamento di JDBC, approfondiamo l’argomento e comprendiamo l’architettura che sta dietro la connettività del database Java.
Tutorial Java avanzato: Architettura JDBC
L’API JDBC supporta modelli di elaborazione sia a due livelli che a tre livelli per l’accesso al database, ma in generale l’architettura JDBC è composta da due livelli−
- API JDBC: Questo fornisce la connessione application-to-JDBC Manager.
- API Driver JDBC: supporta la connessione JDBC Manager-to-Driver.
L’API JDBC utilizza un driver manager e driver specifici del database per fornire connettività trasparente a database eterogenei. Il JDBC driver manager assicura che il driver corretto viene utilizzato per accedere a ciascuna origine dati. Il driver manager è in grado di supportare più driver simultanei connessi a più database eterogenei.
Tutorial Java avanzato: Componenti JDBC comuni
L’API JDBC fornisce le seguenti interfacce e classi−
- DriverManager viene utilizzato per gestire un elenco di driver di database. Il primo driver che riconosce un certo sottoprotocollo in JDBC verrà utilizzato per stabilire una connessione al database.
- Driver è un’interfaccia che gestisce le comunicazioni con il server di database. Astrae anche i dettagli associati al lavoro con gli oggetti Driver.
- La connessione è un’interfaccia che consiste in tutti i metodi necessari per connettersi a un database. L’oggetto di connessione rappresenta il contesto di comunicazione, ovvero tutte le comunicazioni con il database sono solo tramite oggetto di connessione.
Passiamo ora all’argomento successivo e esaminiamo i passaggi necessari per creare un’applicazione JDBC.
Tutorial Java avanzato: passaggi per creare un’applicazione JDBC
Per creare un’applicazione JDBC, dobbiamo seguire alcuni passaggi. Vediamo cosa sono.
- Importa i pacchetti: È necessario includere i pacchetti contenenti le classi JDBC necessarie per la programmazione del database. Più spesso, utilizzando import java.sql.* sarà sufficiente.
- Registra il driver JDBC: qui devi inizializzare un driver in modo da poter aprire un canale di comunicazione con il database.
- Aprire una connessione: qui, è possibile utilizzare il metodo getConnection () per creare un oggetto di connessione, che rappresenta una connessione fisica con il database.
- Esegui una query: richiede l’utilizzo di un’istruzione object of type per la creazione e l’invio di un’istruzione SQL al database.
- Estrai dati dal set di risultati: è necessario utilizzare il metodo getXXX() appropriato per recuperare i dati dal set di risultati.
- Pulizia dell’ambiente: richiede la chiusura esplicita di tutte le risorse del database rispetto alla garbage collection della JVM.
Ora, come avete visto vari passaggi coinvolti per creare un’applicazione JDBC, vediamo un codice di esempio per creare un database e stabilire una connessione.
package Edureka;import java.sql.*;import java.sql.DriverManager;public class Example {// JDBC driver name and database URLstatic final String JDBC_DRIVER = "com.mysql.jdbc.Driver";static final String DB_URL = "jdbc:mysql://localhost/emp";// Database credentialsstatic final String USER = "root";static final String PASS = "";public static void main(String args) {Connection conn = null;Statement stmt = null;try{//STEP 2: Register JDBC driverClass.forName("com.mysql.cj.jdbc.Driver");//STEP 3: Open a connectionSystem.out.println("Connecting to database...");conn = DriverManager.getConnection(DB_URL,"root","");//STEP 4: Execute a querySystem.out.println("Creating statement...");stmt = conn.createStatement();String sql;sql = "SELECT id, first, last, age FROM Employees";ResultSet rs = stmt.executeQuery(sql);//STEP 5: Extract data from result setwhile(rs.next()){//Retrieve by column nameint id = rs.getInt("id");int age = rs.getInt("age");String first = rs.getString("first");String last = rs.getString("last");//Display valuesSystem.out.print("ID: " + id);System.out.print(", Age: " + age);System.out.print(", First: " + first);System.out.println(", Last: " + last);}//STEP 6: Clean-up environmentrs.close();stmt.close();conn.close();}catch(SQLException se){//Handle errors for JDBCse.printStackTrace();}catch(Exception e){//Handle errors for Class.forNamee.printStackTrace();}finally{//finally block used to close resourcestry{if(stmt!=null)stmt.close()}catch(SQLException se2){}// nothing can be donetry{if(conn!=null)conn.close();}catch(SQLException se){se.printStackTrace();}//end finally try}//end trySystem.out.println("Goodbye!");}//end main} // end Example
Il codice precedente crea una tabella nel database localhost. Per inserire i valori nel database creato, è possibile fare riferimento al codice seguente. Scriverò il codice solo per il passaggio 4. Il resto del codice rimane lo stesso di cui sopra.
//STEP 4: Execute a querySystem.out.println("Creating table in given database...");stmt = conn.createStatement();String sql = "CREATE TABLE EMPLOYEES " +"(id INTEGER not NULL, " +" first VARCHAR(255), " +" last VARCHAR(255), " +" age INTEGER, " +" PRIMARY KEY ( id ))";stmt.executeUpdate(sql);System.out.println("Created table in given database...");System.out.println("Inserting records into the table...");stmt =conn.createStatement();String sql ="INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18)";stmt.executeUpdate(sql);sql = "INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25)";stmt.executeUpdate(sql);sql= "INSERT INTO Employees (102, 'Taylor', 'Swift', 30)";stmt.executeUpdate(sql);sql= "INSERT INTO Employees VALUES(103, 'Linkin', 'Park', 28)";stmt.executeUpdate(sql);System.out.println("Inserted records into the table...");
Quindi è così che è possibile stabilire una connessione al database e inserire valori nelle tabelle. Ora andiamo oltre e capire vari tipi di driver JDBC
Tutorial Java avanzato: Tipi di driver JDBC
I driver JDBC implementano le interfacce definite nell’API JDBC, per interagire con il server di database. Essenzialmente, un driver JDBC consente di fare tre cose:
1. Stabilire una connessione con un’origine dati.
2. Invia query e istruzioni di aggiornamento all’origine dati.
3. Elaborare i risultati.
Ad esempio, l’uso di driver JDBC consente di aprire una connessione al database per interagire con esso inviando comandi SQL o database.
Ci sono 4 tipi di driver, vale a dire:
Tipo 1: JDBC-ODBC Bridge Diver
Nel driver di tipo 1, un bridge JDBC accede ai driver ODBC installati su ogni macchina client. Inoltre, ODBC configura il nome origine dati (DSN) che rappresenta il database di destinazione.
Quando Java è uscito per la prima volta, questo era un driver utile perché la maggior parte dei database supportava solo l’accesso ODBC, ma ora questo tipo di driver è consigliato solo per uso sperimentale o quando non sono disponibili altre alternative.
Tipo 2: JDBC-API nativa
In un driver di tipo 2, le chiamate API JDBC vengono convertite in chiamate API C/C++ native, uniche per il database. Questi driver sono in genere forniti dai fornitori di database e utilizzati nello stesso modo del ponte JDBC-ODBC. Il driver specifico del fornitore deve essere installato su ogni macchina client.
Il driver Oracle Call Interface (Oracle) è un esempio di un driver di tipo 2.
Tipo 3: JDBC-Net pure Java
In un driver di tipo 3, viene utilizzato un approccio a tre livelli per accedere ai database. I client JDBC utilizzano socket di rete standard per comunicare con un server di applicazioni middleware. Le informazioni socket vengono quindi tradotte dal server delle applicazioni middleware nel formato di chiamata richiesto dal DBMS e inoltrate al server del database.
Questo tipo di driver è estremamente flessibile poiché non richiede alcun codice installato sul client e un singolo driver può effettivamente fornire l’accesso a più database. Puoi pensare al server delle applicazioni come a un “proxy” JDBC, il che significa che effettua chiamate per l’applicazione client. Di conseguenza, è necessaria una certa conoscenza della configurazione del server delle applicazioni per utilizzare efficacemente questo tipo di driver. Il server delle applicazioni potrebbe utilizzare driver di tipo 1, 2 o 4 per comunicare con il database.
Tipo 4: Java puro al 100%
In un driver di tipo 4, un driver basato su Java puro comunica direttamente con il database del fornitore tramite una connessione socket. Questo è il driver con le prestazioni più elevate disponibile per il database e di solito viene fornito dal fornitore stesso.
Questo tipo di driver è estremamente flessibile, non è necessario installare software speciale sul client o server. Inoltre, questi driver possono essere scaricati dinamicamente.
Il driver Connector/J di MySQL è un driver di tipo 4. A causa della natura proprietaria dei loro protocolli di rete, i fornitori di database di solito forniscono driver di tipo 4.
Iscriviti al nostro canale youtube per ricevere nuovi aggiornamenti..!
Quindi ecco che arriva la domanda, quale driver dovrebbe essere usato?
- Se si accede a un tipo di database, ad esempio Oracle, Sybase o IBM, il tipo di driver preferito è 4.
- Se l’applicazione Java accede contemporaneamente a più tipi di database, il driver preferito è il tipo 3.
- I driver di tipo 2 sono utili in situazioni in cui un driver di tipo 3 o di tipo 4 non è ancora disponibile per il database.
- Il driver di tipo 1 non è considerato un driver a livello di distribuzione e viene in genere utilizzato solo a scopo di sviluppo e test.
Ora, saltiamo nell’ultimo argomento di JDBC e comprendiamo vari tipi di connessioni.
Tutorial Java avanzato: Connessioni JDBC
- Importa pacchetti JDBC: aggiungi istruzioni di importazione al tuo programma Java per importare le classi richieste nel tuo codice Java.
- Registra il driver JDBC: questo passaggio fa sì che la JVM carichi l’implementazione del driver desiderata in memoria in modo che possa soddisfare le tue richieste JDBC. Ci sono 2 approcci per registrare un driver.
- L’approccio più comune per registrare un driver consiste nell’utilizzare il metodo forName()di Java per caricare dinamicamente il file di classe del driver in memoria, che lo registra automaticamente. Questo metodo è preferibile perché consente di rendere la registrazione del driver configurabile e portatile. Fare riferimento al codice sottostante.
try {Class.forName("oracle.jdbc.driver.OracleDriver");}catch(ClassNotFoundException ex) {System.out.println("Error: unable to load driver class!");System.exit(1);}
- Il secondo approccio che è possibile utilizzare per registrare un driver è utilizzare il metodo static registerDriver ().
try { Driver myDriver = new oracle.jdbc.driver.OracleDriver(); DriverManager.registerDriver( myDriver ); }catch(ClassNotFoundException ex){ System.out.println("Error: unable to load driver class!");System.exit(1);}
- L’approccio più comune per registrare un driver consiste nell’utilizzare il metodo forName()di Java per caricare dinamicamente il file di classe del driver in memoria, che lo registra automaticamente. Questo metodo è preferibile perché consente di rendere la registrazione del driver configurabile e portatile. Fare riferimento al codice sottostante.
È necessario utilizzare il metodo registerDriver () se si utilizza una JVM non conforme a JDK, come quella fornita da Microsoft.
- Formulazione URL del database: serve a creare un indirizzo formattato correttamente che punti al database a cui si desidera connettersi. Dopo aver caricato il driver, è possibile stabilire una connessione utilizzando DriverManager.Metodo getConnection (). DriverManager.I metodi getConnection () sono –
- getConnection (URL stringa)
- getConnection (URL stringa, prop proprietà)
- getConnection (URL stringa, utente stringa, password stringa)
Qui ogni modulo richiede un URL del database. Un URL del database è un indirizzo che punta al database.
A table lists down the popular JDBC driver names and database URL.
RDBMS | JDBC Driver Name | URL |
1. MYSQL | com.mysql.jdbc.Driver | jdbc:mysql://hostname/ databaseName |
2. Oracle | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@hostname:port Number:databaseName |
3. Sybase | com.Sybase.jdbc.SybDriver | jdbc:sybase:Tds:hostname: numero di porta / Nome del database |
- Crea un oggetto di connessione
Puoi semplicemente creare o aprire una connessione utilizzando l’URL del database, il nome utente e la password e anche l’oggetto proprietà. Un oggetto Properties contiene un insieme di coppie di parole chiave-valore. Viene utilizzato per passare le proprietà del driver al driver durante una chiamata al metodo getConnection ().
- Chiudi
Alla fine del tuo programma JDBC, dobbiamo chiudere tutte le connessioni del database per terminare ogni sessione del database. Tuttavia, se si dimentica, il garbage collector di Java chiuderà la connessione quando ripulirà gli oggetti obsoleti.
conn.close();// Used to close the connection
Era tutto sulla connettività del database Java. Se desideri saperne di più su JDBC, puoi fare riferimento a queste domande di intervista. Ora vai avanti e impara i Servlet.
Advanced Java Tutorial: Introduzione ai Servlet
Un servlet è una classe di linguaggio di programmazione Java che viene utilizzata per estendere le funzionalità dei server che ospitano applicazioni accessibili tramite un modello di programmazione richiesta-risposta. Sebbene i servlet possano rispondere a qualsiasi tipo di richiesta, sono comunemente usati per estendere le applicazioni ospitate dai server Web.
Servlet può essere descritto come segue:
-
- Servlet è una tecnologia che viene utilizzata per creare un’applicazione web.
- È un’API che fornisce molte interfacce e classi, compresa la documentazione.
- Servlet è un’interfaccia che deve essere implementata per creare qualsiasi Servlet.
- È anche una classe che estende le funzionalità dei server e risponde alle richieste in arrivo. Può rispondere a qualsiasi richiesta.
- Servlet è una tecnologia che viene utilizzata per creare un’applicazione web.
Tutorial Java avanzato: Ciclo di vita Servlet
L’intero ciclo di vita di un Servlet è gestito dal contenitore Servlet che utilizza javax.Servlet.Interfaccia Servlet per comprendere l’oggetto Servlet e gestirlo.
Fasi del ciclo di vita del servlet: il ciclo di vita del Servlet passa principalmente attraverso quattro fasi,
- Caricamento di un servlet.
- Inizializzazione del Servlet.
- Gestione delle richieste
- Distruzione del Servlet.
Diamo un’occhiata a ciascuna di queste fasi in dettaglio:
- Caricamento di un Servlet: la prima fase del ciclo di vita del Servlet comporta il caricamento e l’inizializzazione del Servlet dal contenitore Servlet. Il contenitore Web o il contenitore Servlet può caricare il Servlet in una delle due fasi seguenti:
- Inizializzando il contesto, configurando il Servlet con un valore intero zero o positivo.
- Se il Servlet non precede la fase, potrebbe ritardare il processo di caricamento fino a quando il contenitore Web non determina che questo Servlet è necessario per soddisfare una richiesta.
- Inizializzazione di un Servlet: dopo che il Servlet è stato istanziato correttamente, il contenitore Servlet inizializza l’oggetto Servlet istanziato. Il contenitore inizializza l’oggetto Servlet richiamando il metodo init (ServletConfig) che accetta il riferimento all’oggetto ServletConfig come parametro.
- Gestione richiesta: Dopo l’inizializzazione, l’istanza Servlet è pronta per servire le richieste del client. Il contenitore Servlet esegue le seguenti operazioni quando l’istanza Servlet si trova per soddisfare una richiesta:
- Crea ServletRequest e ServletResponse. In questo caso, se si tratta di una richiesta HTTP, il contenitore Web crea gli oggetti HttpServletRequest e HttpServletResponse che sono rispettivamente sottotipi degli oggetti ServletRequest e ServletResponse.
- Distruggere un Servlet: Quando un contenitore Servlet decide di distruggere il Servlet, esegue le seguenti operazioni,
- Consente a tutti i thread attualmente in esecuzione nel metodo di servizio dell’istanza Servlet di completare i loro lavori e di essere rilasciati.
- Dopo che i thread attualmente in esecuzione hanno completato i loro lavori, il contenitore Servlet chiama il metodo destroy() sull’istanza Servlet.
Dopo l’esecuzione del metodo destroy (), il contenitore Servlet rilascia tutti i riferimenti di questa istanza Servlet in modo che diventi idoneo per la garbage collection.
Ora che avete capito le basi di un servlet, andiamo oltre e capire quali sono i passaggi necessari per creare un’applicazione Servlet.
Tutorial Java avanzato: Passi per creare Servlet
- Creare una struttura di directory
- Creare un Servlet
- Compilare il Servlet
- Aggiungere mappature al web.file xml
- Avvia il server e distribuisci il progetto
- Accedi al servlet
Ora, in base ai passaggi precedenti, scriviamo un programma e capiamo come funziona il servlet.
Fase 1: Per eseguire un programma servlet, dovremmo avere Apache tomcat server installato e configurato. Una volta configurato il server, è possibile iniziare con il programma.
Passo 2: Per un programma servlet, hai bisogno di 3 file – index.file html, file di classe Java e web.file xml. Il primo passo è creare un progetto Web dinamico e quindi procedere ulteriormente
Passo 3: Ora vediamo come aggiungere 2 numeri usando i servlet e visualizzare l’output nel browser.
In primo luogo, scriverò indice.file html
<!DOCTYPE html><html><body><form action ="add"> Enter 1st number: <input type="text" name="num1"> Enter 2nd number: <input type="text" name="num2"><input type ="submit"> </form></body></html>
Sopra programma crea un modulo per inserire i numeri per l’operazione di aggiunta.
Passo 4: Ora senza il file di classe Java, non è possibile eseguire l’aggiunta su 2 numeri. Quindi scriviamo un file di classe.
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Add extends HttpServlet{ public void service(HttpServletRequest req, HttpServletResponse res) throws IOException { int i = Integer.parseInt(req.getParameter("num1")); int j = Integer.parseInt(req.getParameter("num2"); int k= i+j; PrintWriter out = res.getWriter(); out.println("Result is"+k); }}
Passaggio 5: Dopo aver scritto il file di classe Java, l’ultimo passaggio consiste nell’aggiungere mappature al web.file xml. Vediamo come fare.
Passo 6: web.il file xml sarà presente nella cartella WEB-INF del contenuto web. Se non è presente, è possibile fare clic su Descrittore di distribuzione e fare clic su Genera descrittore di distribuzione Stub.
Passo 7: Dopo di che, è possibile procedere ulteriormente e aggiungere le mappature ad esso.
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=<"http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"</em> version=<em>"3.0"</em>> <display-name>Basic</display-name> <servlet> <servlet-name>Addition</servlet-name> <servlet-class>edureka.Add</servlet-class> </servlet> <servlet-mapping> <servlet-name>Addition</servlet-name> <url-pattern>/add</url-pattern></servlet-mapping><welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list></web-app>
Punto 8: Dopo tutto questo, è possibile eseguire il programma avviando il server. Otterrai l’output desiderato sul browser.
Fondamentalmente, questo è il modo in cui servlet dovrebbe essere configurato. Ora andiamo oltre e comprendiamo il concetto di monitoraggio della sessione.
Monitoraggio della sessione
Sessione significa semplicemente un particolare intervallo di tempo. E il monitoraggio della sessione è un modo per mantenere lo stato (dati) di un utente. È anche noto come gestione delle sessioni in servlet. Sappiamo che il protocollo Http è stateless, quindi dobbiamo mantenere lo stato usando le tecniche di tracciamento della sessione. Ogni volta che l’utente richiede al server, il server considera la richiesta come la nuova richiesta. Quindi abbiamo bisogno di mantenere lo stato di un utente per riconoscere un particolare utente.
Si può vedere nella figura quando si invia una richiesta è considerato come una nuova richiesta.
Al fine di riconoscere l’utente particolare, abbiamo bisogno di monitoraggio della sessione. Quindi si trattava di Servlet.
Ora, immergiamoci nell’ultima sezione del nostro blog e capiamo cos’è JSP.
Tutorial Java avanzato: Java Server Pages
JSP o Java Server Pages è una tecnologia che viene utilizzata per creare applicazioni web proprio come la tecnologia Servlet. È un’estensione di Servlet, in quanto fornisce più funzionalità di servlet come expression language, JSTL,ecc. Una pagina JSP è composta da tag HTML e tag JSP. Le pagine JSP sono più facili da mantenere rispetto a Servlet perché possiamo separare la progettazione e lo sviluppo. Fornisce alcune funzionalità aggiuntive come il linguaggio delle espressioni, i tag personalizzati, ecc.
Ora vediamo varie funzionalità di JSP con l’aiuto della figura seguente.
- Portable: i tag JSP verranno elaborati ed eseguiti dal contenitore Web lato server, in modo che questi siano indipendenti dal browser e indipendenti dal server J2EE.
- Potente: JSP è costituito da bytecode in modo che tutte le funzionalità Java siano applicabili in caso di JSP come robusto, dinamico, sicuro, indipendente dalla piattaforma.
- Flessibile: consente di definire tag personalizzati in modo che lo sviluppatore possa riempire conferrable per utilizzare qualsiasi tipo di tag di markup basati su framework in JSP.
- Sviluppo veloce: Se la pagina JSP viene modificata, non è necessario ricompilare e ridistribuire il progetto. Il codice Servlet deve essere aggiornato e ricompilato se dobbiamo cambiare l’aspetto dell’applicazione.
- Tracciamento dell’utente: JSP ci consente di tracciare le selezioni effettuate dall’utente durante l’interazione dell’utente con il sito web mantenendo le informazioni nella sessione o nei cookie
- Facile: JSP è facile da imparare, facile da capire e facile da sviluppare. I JSP sono più convenienti da scrivere rispetto ai Servlet perché consentono di incorporare il codice Java direttamente nelle pagine HTML.
Ora che hai capito cos’è JSP, vediamo come JSP e Servlet differiscono l’uno dall’altro e perché JSP è migliore dei Servlet con l’aiuto della tabella sottostante.
JSP | Servlet |
Estensione Servlet | Non un’estensione di servlet |
di Facile manutenzione | Po ‘ complicato |
Non c’è bisogno di ricompilare o ridistribuire | Il codice deve essere ricompilato |
Meno codice di un servlet | il codice Più rispetto a JSP |
Ora andiamo a scavare più a fondo in Java Server Pages e comprendere il Ciclo di Vita di JSP.
Tutorial Java avanzato: Ciclo di vita di JSP
Le pagine JSP seguono queste fasi:
- Traduzione della Pagina JSP
- Compilazione della Pagina JSP
- Classloading (il classloader carichi il file di classe)
- creazione di un’Istanza (Oggetto Generato Servlet viene creato)
- Inizializzazione ( il contenitore richiama jspInit())
- elaborazione della Richiesta ( il contenitore richiama _jspService())
- Distruggere ( il contenitore richiama jspDestroy())
Come illustrato nel diagramma di cui sopra, una pagina JSP è tradotto in Servlet con l’aiuto di JSP traduttore. E poi, JSP translator è una parte del server web che è responsabile della traduzione della pagina JSP in Servlet. Successivamente, la pagina Servlet viene compilata dal compilatore e viene convertita nel file di classe. Inoltre, tutti i processi che avvengono in Servlet vengono eseguiti su JSP in seguito, come l’inizializzazione, la risposta al browser e la distruzione.
Advanced Java Tutorial: JSP Scripting Elements:
Gli elementi di scripting forniscono la possibilità di inserire codice java all’interno del JSP. Esistono tre tipi di elementi di scripting:
- scriptlet tag – Un tag scriptlet viene utilizzato per eseguire il codice sorgente Java in JSP.
La sintassi è: < % codice sorgente java%> - expression tag – Il codice inserito all’interno di JSP expression tag viene scritto nel flusso di output della risposta. Quindi non è necessario scrivere.print () per scrivere dati. Viene utilizzato principalmente per stampare i valori di variabile o metodo.
Sintassi: < % = istruzione %> - tag dichiarazione: il tag dichiarazione JSP viene utilizzato per dichiarare campi e metodi. Il codice scritto all’interno del tag di dichiarazione JSP viene posizionato al di fuori del metodo service() di un servlet generato automaticamente. Quindi non ottiene memoria ad ogni richiesta.
Sintassi: <%! dichiarazione di campo o metodo%>
Se desideri saperne di più su JSP, puoi fare riferimento a queste domande di intervista.
Questo ci porta alla fine del nostro blog su Advanced Java Tutorial. Spero che hai trovato questo blog informativo e valore aggiunto alla vostra conoscenza.
Scopri il Java Certification Training di Edureka, una società di apprendimento online di fiducia con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che vogliono essere uno sviluppatore Java. Il corso è progettato per darti un vantaggio nella programmazione Java e allenarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate & Spring.