Sommario
- Che cos'è JavaServer Pages?
- Come configurare un ambiente JSP?
- Com'è l'architettura del JSP?
- Ciclo di vita di JSP
- Sintassi in JSP
- Azioni JSP
- Direttive JSP
- Oggetti impliciti JSP
- Richiesta client JSP
- Risposta del server JSP
- Codice di stato HTTP in JSP
- Elaborazione moduli in JSP
- Gestione dei cookie
- Conclusione
- Articoli consigliati
Che cos'è JavaServer Pages?
Il Pagine JavaServer (JSP) , una tecnologia lato server, aiuta gli sviluppatori a sviluppare pagine Web, che utilizzano HTML , XML , SAPONE , ecc. Viene anche indicato come Pagine del server di Giacarta . In JSP, gli sviluppatori possono incorporare il codice java nel file HTML linguaggio. Ci sono tag univoci nel JSP, che consentono l'uso di Giava codice in HTML. Questi tag iniziano e finiscono con '<%’ e '%>' simboli, rispettivamente. Per eseguire JSP, è necessario un server Web contenente il contenitore servlet. Ad esempio, puoi usare Apache Tomcat o Molo .
JSP è modellato da servlet Java . servlet Java è anche chiamato Jakarta Servlet. Durante il runtime, i JSP vengono trasformati in servlet; pertanto, sono chiamati servlet. In genere, i JSP vengono scritti in file di testo e incorporano codice HTML o XHTML, azioni JSP, elementi XML e comandi JSP. I JSP svolgono il ruolo di interfacce utente nelle applicazioni Web Java. Tutti gli oggetti impliciti JSP, come request, session, config, out, response, application, page e pageContext, vengono creati dal contenitore web .
Potresti esserti imbattuto in moduli di pagine web. Lo scopo di questi moduli è quello di raccogliere dati da utenti diversi. In questi moduli di pagine Web, JSP viene utilizzato per acquisire dati dagli utenti come input, dispone questi dati sotto forma di database e genera pagine Web. L'obiettivo principale di JSP è presentare tipi di documenti XML e HTML. Ma può anche presentare documenti in altri formati, poiché utilizza OutputStream . L'estensione del file per JSP è .jsp, .jspx, .jspf e il tipo di media Internet è applicazione/jsp.
È possibile convertire qualsiasi file HTML nel file JSP modificando l'estensione del file .html a .jsp . Dopo aver modificato l'estensione, utilizzare i tag JSP per aggiungere codice java all'interno delle pagine HTML. Utilizzando JPS, gli sviluppatori possono generare web dinamico pagine e pagine web indipendenti dalla piattaforma. Vediamo alcune caratteristiche significative di JSP.
Dai un'occhiata al nostro Guida all'interfaccia uomo-computer che andrà bene per i principianti.
Funzionalità JSP
JSP è uno dei modi convenienti per creare contenuti web dinamici. Ci sono diversi motivi per cui gli sviluppatori scelgono JSP per creare diverse applicazioni. Ecco alcune caratteristiche selezionate con cura di Jakarta Server Pages.
- Ci sono azioni e tag personalizzati in JSP. Pertanto, la lunghezza del codice di JSP è di dimensioni ridotte.
- È semplice scrivere codice in JSP, poiché incorpora il linguaggio di programmazione Java nelle pagine HTML o XML.
- JSP consente agli sviluppatori di raccogliere i dati e inserirli nel database o leggere o scrivere i dati nel database.
- Questa tecnologia lato server è altamente flessibile, portatile e robusta perché non dipende da alcun browser o server.
- Non è necessario che il codice JSP venga compilato ancora e ancora. È indipendente dalla piattaforma e può essere eseguito su qualsiasi console senza ricompilazione.
- JSP incorpora oggetti impliciti, servlet e tag personalizzati. Pertanto, gli sviluppatori generano pagine Web interattive e in tempo reale.
- Possiamo anche incorporare altri linguaggi di scripting nei programmi JSP, come JavaScript, Perl, VBScript, ecc. Per impostazione predefinita, Java è il linguaggio di scripting di JSP.
Perché usare le pagine del server Java?
Ci sono diversi vantaggi nell'usare i JSP. Si comportano in modo simile a quello del Interfaccia gateway comune (CGI) . I server Web eseguono tutti i programmi che generano pagine Web dinamiche sull'interfaccia gateway comune. Quando confrontiamo JSP con CGI, JSP è più robusto e offre maggiori vantaggi agli sviluppatori. Ecco alcuni motivi che aiuteranno a capire come JSP sia più vantaggioso del CGI.
- Gli sviluppatori possono aggiungere elementi dinamici in HTML utilizzando JSP. Se utilizzano CGI, devono creare un file CGI separato per Dynamic Elements.
- I JSP vengono compilati e successivamente eseguiti su qualsiasi piattaforma. D'altra parte, CGI carica l'interprete e interpreta il codice ogni volta che richiedi la pagina web.
- È possibile utilizzare JSP e servlet insieme per monitorare la logica aziendale. I motori dei modelli di servlet Java supportano questo modello combinato di JSP e servlet.
- JSP è un'astrazione di alto livello di servlet Java. Queste pagine vengono create al livello superiore dell'interfaccia servlet Java. Quindi, possono accedere a tutte le interfacce Java primarie, come JAXP, JDBC, JNDI, ecc.
- Nell'architettura MVC, JSP viene utilizzato come livello di visualizzazione.
- Tutte le applicazioni di livello aziendale vengono eseguite sulla piattaforma, denominata Java EE. La piattaforma Java EE incorpora JSP.
Vantaggi di JSP
JSP è più efficiente e robusto di altre tecnologie, come JavaScript, HTML statico, Pure Servlets, ecc. Qui vedremo come JSP è vantaggioso rispetto ad altre tecnologie.
- Uno dei vantaggi più desiderabili di JSP è che utilizza il linguaggio di programmazione Java per scrivere la sua parte dinamica. Non utilizza Visual Basic per scrivere il codice. In secondo luogo, è compatibile con altri operativo sistemi.
- Utilizzando JSP, incorporiamo il codice Java nelle pagine HTML. Quindi, è facile modificare l'HTML.
- Recupera i dati dai moduli Web e li collega al database.
- Nell'applicazione Web, JSP separa il livello di logica aziendale dal livello di presentazione.
- JSP utilizza il linguaggio di programmazione Java. Quindi, supporta anche il concetto di multithreading di Java.
Prima di procedere con il tutorial JSP, ti guideremo nella configurazione dell'ambiente JSP. Inoltre, è necessaria una conoscenza dettagliata della programmazione Java. Facci sapere ora come configurare l'ambiente JSP sul tuo desktop.
Come configurare un ambiente JSP?
Perché è necessario configurare l'ambiente JSP? È necessario correggere l'ambiente JSP sul desktop? Se si desidera creare contenuto Web dinamico o applicazioni Web utilizzando JSP, è necessario configurare l'ambiente JSP. Questo ambiente consente agli sviluppatori di scrivere i programmi JSP, compilarli ed eseguirli su qualsiasi piattaforma. Spiegheremo la configurazione dell'ambiente JSP nei passaggi seguenti:
Configurazione del kit di sviluppo Java
Il primo passo è riparare il Kit di sviluppo Java (JDK) sul desktop. Il Java Development Kit è necessario perché incorporiamo il codice java nel codice HTML utilizzando JSP. Pertanto, l'ambiente JSP richiede prima la correzione dell'ambiente JDK.
Innanzitutto, devi scaricare il Java Software Development Kit (SDK) dal funzionario di Oracle sito web
Dopo il download, apri il file .exe e installalo e configuralo utilizzando le linee guida fornite. Successivamente, è necessario impostare due variabili di ambiente, SENTIERO e JAVA_HOME . Devi impostare il SENTIERO variabile alla posizione del desktop di Giava , cioè., java_install_dir/bin, e il JAVA_HOME variabile alla posizione in cui si trova Giava , cioè., java_install_dir .
Se hai il sistema Windows e hai installato il file SDK in C:jdk1.5.0_20 posizione, aggiungi questo percorso a C:autoexec.bat file.
|_+_|Se hai installato il file SDK sul sistema Windows NT, 2000 o XP, c'è un modo diverso di impostare SENTIERO e JAVA_HOME variabili ambientali. Devi fare clic destro su Il mio computer , Selezionare Proprietà , dai Avanzate , e vai a variabili ambientali . Qui, devi impostare il SENTIERO alla posizione del Giava , cioè., Cjdk1.5.0_20in . Dopo aver modificato il PERCORSO, fare clic su ok pulsante.
Ora sapremo come impostare le variabili di ambiente PATH e JAVA_HOEM per sistemi UNIX, come Solaris, Linux , ecc. Supponiamo di aver installato il file SDK in /usr/local/jdk1.5.0_20 . Devi aggiungere i due comandi seguenti nel file .cshrc file. Considera che utilizziamo la shell C.
|_+_|Se utilizzi strumenti IDE (Integrated Development Environment), come Eclipse, Sun ONE Studio, JBuilder, ecc., prendi un programma java di esempio, compilalo ed eseguilo per verificare che lo strumento IDE sappia dove è installato Java sul tuo sistema.
Dopo aver installato Java Development Kit e aver impostato le variabili di ambiente PATH e JAVA_HOME, il passaggio successivo consiste nell'impostare il server web.
Impostazione del server Web Tomcat
Oggi sono disponibili diversi server Web che supportano lo sviluppo di applicazioni Web dinamiche tramite JSP o Servlet. Utilizzeremo il web server Tomcat, che è open source e gratuito. Tomcat è un nome abbreviato per Apache Tomcat. Può essere utilizzato gratuitamente da chiunque ed è compatibile con diverse tecnologie server, come JavaServer Pages, Servlet, WebSocket e Java Expression Language. Il codice Java in Tomcat viene eseguito su puro Java Server web HTTP.
Ci sono diversi componenti in Apache Tomcat. Facci sapere ogni componente e il suo utilizzo.
- Il contenitore servlet per Tomcat è Caterina , che utilizza le specifiche di Sun Microsystem per JSP e servlet. Il nome utente, la password e i ruoli degli utenti sono presenti nell'elemento Realm.
- Il componente connettore per Tomcat è Coyote , che è compatibile con il protocollo HTTP 1.1.
- Il motore JSP in Tomcat è Diaspro . Questo motore analizza il file di testo JSP e lo compila nel codice Java.
- Un altro componente di Tomcat è Grappolo , che gestisce grandi applicazioni web.
Di seguito sono riportati i passaggi per scaricare il server Web Apache Tomcat.
- Innanzitutto, devi scaricare Apache Tomcat dal suo ufficiale sito web
Devi scaricare l'ultima versione di Apache Tomcat.
- Dopo aver scaricato il software, posizionare il scaricato in una posizione specifica. Ad esempio, se hai installato Tomcat sul sistema Windows, individua il file scaricato in C:apache-tomcat-5.5.29 . Per i sistemi Linux o Unix, posizionare il file in /usr/local/apache-tomcat-5.5.29 .
- Dopo aver individuato il file, creare il file CATALINA_HOME variabile d'ambiente. Imposta questa variabile sulla posizione del file Tomcat, come menzionato sopra, ovvero, per i sistemi Windows, imposta la variabile su C:apache-tomcat-5.5.29 e per i sistemi Linux, impostare la variabile su /usr/local/apache-tomcat-5.5.29 .
La configurazione di Apache Tomcat è stata eseguita correttamente. Se hai installato Tomcat sul sistema Windows, segui uno dei due comandi per avviare l'applicazione Tomcat.
|_+_|o
|_+_|Se la tua applicazione Tomcat è installata sul sistema Linux, puoi digitare uno dei comandi seguenti per avviare l'applicazione Tomcat.
|_+_|o
|_+_|Dopo aver aperto correttamente l'applicazione Tomcat, visita http://localhost:8080/ . Noterai tutte le applicazioni predefinite presenti in Tomcat. Puoi eseguire la configurazione e l'esecuzione dell'applicazione Tomcat utilizzando la documentazione disponibile sul sito Web ufficiale di Tomcat.
Ora vedremo i comandi per chiudere l'applicazione Tomcat su sistemi Windows e Linux. Ci sono due comandi per chiudere l'applicazione Tomcat sui sistemi Windows. Sono i seguenti:
|_+_|o
|_+_|Per i sistemi Linus, puoi seguire uno qualsiasi dei due comandi per chiudere l'applicazione Tomcat.
|_+_|o
|_+_|CLASSPATH Configurazione
Discuteremo come configurare CLASSPATH per sistemi Windows e Linux. Se hai installato Tomcat sul sistema Windows, segui le righe di codice seguenti per configurare CLASSPATH.
|_+_|Se il tuo sistema Windows ha versioni NT, 2000 o XP, devi fare clic con il pulsante destro del mouse su Il mio computer , Selezionare Proprietà , clicca su Avanzate , e vai a variabili ambientali . Qui, devi cambiare il valore CLASSPATH e fare clic su ok pulsante.
Se hai installato Tomcat sul sistema Linux, aggiungi le seguenti due righe nel file .cshrc. Considera che usiamo la shell C.
|_+_|Com'è l'architettura del JSP?
Abbiamo impostato l'ambiente per JSP. Abbiamo utilizzato Apache Tomcat per eseguire le pagine JSP. Per l'elaborazione delle pagine JSP, esiste un motore JSP chiamato container. In Apache Tomcat è presente un motore JSP integrato chiamato Diaspro . Pertanto, utilizzando Jasper, gli sviluppatori possono creare pagine JSP. Il contenitore e il server Web interagiscono per fornire l'ambiente di runtime o JSP e tutti gli altri servizi richiesti da JSP.

Il diagramma sopra illustra il contenitore JSP e la posizione dei file JSP e in qualsiasi applicazione web. Ora spiegheremo il processo di generazione di una pagina Web dinamica dal server Web utilizzando JSP.
- Innanzitutto, il client o il browser dal sistema Windows, Linux o macOS invia la richiesta HTTP al server Web tramite Internet, come mostrato nel diagramma sopra.
- Il server Web contiene il motore JSP, in cui sono archiviati tutti i file JSP. Alla ricezione della richiesta HTTP dal client, il server Web identifica che la richiesta riguarda la pagina JSP. Successivamente, trasmette questa richiesta al motore JSP. Il server Web trasmette la richiesta HTTP alla pagina JSP utilizzando un file con estensione .jsp o .html o tramite un URL.
- Ora, il JSP riceve la richiesta HTTP che è stata inviata dal client al server web. Sappiamo che la richiesta HTTP era per una pagina JSP. Pertanto, il motore carica quella particolare pagina dal disco e la trasforma in un contenuto servlet. In altre parole, tutto il testo del modello viene modificato in istruzioni println(). D'altra parte, questa trasformazione converte anche tutte le pagine JSP in codice Java.
- La pagina JSP richiesta viene trasformata nel servlet. Pertanto, il servlet viene compilato dal motore JSP in una classe eseguibile. Successivamente, la richiesta HTTP dal client viene inviata al motore servlet dal motore JSP.
- Sia i motori servlet che JSP fanno parte del server web. Il motore servlet esegue la classe eseguibile compilata dal motore JSP e genera l'output in formato HTML. C'è un altro componente sul server web, la risposta HTTP. Il motore servlet invia l'output HTML alla risposta HTTP.
- Infine, il server web invia la risposta HTTP al browser tramite Internet sotto forma di contenuto HTML statico.
Pertanto, puoi scrivere il servlet utilizzando la pagina JSP con pochissime competenze di programmazione Java. Dall'elaborazione di JSP di cui sopra, possiamo concludere che funziona allo stesso modo di quella del servlet, ad eccezione della fase di traduzione. Segue l'architettura a 3 livelli, con il server Web che supporta la pagina JSP. Ora ci sposteremo verso il ciclo di vita di JSP. Qui discuteremo come il file JSP passa attraverso le diverse fasi e come è presente nel contenitore web.
Ciclo di vita di JSP
Il ciclo di vita di qualsiasi componente inizia quando viene creato e termina quando viene distrutto. Il ciclo di vita di JSP è simile al ciclo di vita del servlet. Una fase aggiuntiva nel ciclo di vita JSP viene utilizzata per convertire e compilare la pagina JSP in un servlet. Il ciclo di vita JSP può essere definito come la creazione della pagina JSP, la sua trasformazione in un servlet, il ciclo di vita del servlet e la distruzione della pagina JSP. Osserviamo ora il ciclo di vita di JSP in dettaglio di seguito.
Il ciclo di vita del JSP prevede quattro percorsi principali come segue:
- Compilazione
- Inizializzazione
- Esecuzione
- Pulire
Tutti questi quattro percorsi del ciclo di vita JSP sono simili ai percorsi del ciclo di vita del servlet. Il diagramma seguente illustra le fasi precedenti.

Analizziamo ora in dettaglio ogni fase del ciclo di vita di JSP e la sua descrizione.
- La pagina richiesta viene analizzata dal motore JSP.
- Quindi trasforma la pagina JSP in un servlet.
- Infine, il servlet viene compilato.
- In primo luogo, include la riga di stato, Carriage Return (CRLF) e Line Feed. L'avanzamento riga implica una nuova riga.
- Il prossimo è zero o più righe di intestazione e Carriage Return (CRLF).
- Poi arriva una riga vuota, CRLF.
- Infine, il corpo del messaggio è facoltativo. Il corpo del messaggio può contenere l'output della query, i dati della query o il file.
- Innanzitutto, crea l'oggetto cookie. Chiama il costruttore del cookie con il nome del cookie e il valore corrispondente. Sia il nome che il valore sono rappresentati in String.
- Dopo aver creato il cookie, imposteremo ora l'età massima per esso utilizzando il setMaxEtà funzione.
- Infine, usa response.addCookie per aggiungere il cookie nell'intestazione della risposta HTTP.
Quando il client o il browser invia la richiesta HTTP per la pagina JSP, il motore JSP presente nel server Web verifica se la pagina della richiesta deve essere compilata o meno. Il motore JSP compila la pagina richiesta se non è stata precedentemente compilata o se non è stata compilata dopo aver modificato la pagina. La compilazione della pagina prevede tre passaggi come segue:
Quando la pagina JSP viene trasformata in un servlet, il file .jsp il file viene convertito in un .Giava file. Al momento della compilazione, il .Giava il file viene quindi convertito in un .classe file.
Al termine della compilazione, ha luogo il processo di caricamento della classe. L'origine JSP carica la classe servlet e questa classe servlet viene quindi caricata nel contenitore. L'istanza della classe servlet viene creata nel contenitore. Dopo aver creato l'istanza della classe servlet, il file jspInit() il metodo viene invocato. Questo metodo viene invocato solo una volta nel ciclo di vita del JSP. Per l'inizializzazione specifica di JSP, è necessario sovrascrivere il file jspInit() metodo come segue:
|_+_|Quando il jspInit() viene istanziato il metodo, è necessario creare la connessione al database e generare le tabelle di ricerca nel file.
Dopo il jspInit() viene istanziato il metodo, il _jspService() viene utilizzato il metodo. Questo metodo serve tutte le richieste inviate dal client al server Web fino a quando il JSP non viene distrutto.
Il _jspService() il metodo prevede due diversi parametri, HttpServletRequest e HttpServletResponse . Questo metodo è definito come segue:
|_+_|Il _jspService() il metodo risponde a tutte le richieste del client. Ogni volta che il cliente emette la richiesta, il _jspService() viene invocato il metodo. Risponde anche a tutte e sette le richieste HTTP, come OTTENERE , ELIMINARE , INVIARE , METTERE , ecc. È possibile ignorare il _jspService() metodo.
L'ultima fase del ciclo di vita della JSP è Cleanup, in cui la JSP viene distrutta. Il contenitore rimuove JSP e non lo utilizza. Questo metodo è lo stesso del metodo di distruzione di un servlet. Quando è necessario chiudere qualsiasi file nel database o chiudere la connessione al database, è possibile eseguire l'override di jspDestroy() metodo. La sintassi del metodo jspDestroy() è la seguente:
|_+_|Sintassi in JSP
In questo segmento, impareremo la sintassi di diversi elementi JSP, come azioni, direttive, oggetti impliciti, commenti, espressioni, ecc. Questa sezione del tutorial è molto significativa per i principianti nel dominio JSP. Di seguito è riportata una guida rapida sulla sintassi JSP.
Lo Scriptlet è uno degli elementi JSP robusti. Possiamo memorizzare istruzioni, metodi, variabili ed espressioni Java nello scriptlet. Inoltre, può anche memorizzare elementi di qualsiasi linguaggio di scripting. Di seguito è riportato l'elemento Scriptlet Sintassi:
Sintassi:
|_+_|La sintassi dello Scriptlet sopra può essere scritta come equivalente XML nel seguente formato:
|_+_|Tutti i tag HTML, gli elementi JSP e qualsiasi altro testo vengono sempre scritti al di fuori dei tag Scriptlet. Vedremo un semplice esempio di JSP all'interno della pagina HTML.
Esempio:
|_+_|Il server Tomcat dovrebbe essere installato sul desktop e il suo ambiente dovrebbe essere configurato per l'esecuzione di questo programma. Segui i passaggi di configurazione dell'ambiente sopra riportati per configurare l'ambiente del server Tomcat. Salveremo il file sopra come firstjsp.jsp nel C:apache-tomcat7.0.2webappsROOT cartella. Dopo aver salvato il file, vai nel browser e digita l'URL, http://localhost:8080/firstjsp.jsp. Il codice sopra visualizzerà la Guida rapida JSP e l'indirizzo IP del tuo sistema.
Quando sono necessarie variabili o metodi da utilizzare nel codice Java, le dichiarazioni JSP le dichiarano. Prima di utilizzare qualsiasi variabile o metodo nel codice Java, è necessario dichiararlo utilizzando la dichiarazione JSP. La sintassi delle dichiarazioni JSP è la seguente:
Sintassi:
|_+_|La sintassi di cui sopra è scritta in XML come segue:
|_+_|Vediamo ora un esempio delle dichiarazioni JSP.
Esempio:
|_+_|Un'espressione in JSP contiene espressioni del linguaggio di scripting. Queste espressioni possono essere valutate, trasformate in una stringa e aggiunte al file JSP, dove appare l'espressione. È possibile utilizzare espressioni JSP con il testo, poiché può essere trasformato in String. Non è obbligatorio taggare le espressioni JSP all'interno dei tag HTML. Una cosa importante da ricordare durante la scrittura dell'espressione JSP è che non usano il punto e virgola per terminare l'espressione.
Sintassi:
|_+_|La sintassi di cui sopra può essere scritta nel suo equivalente XML come segue:
|_+_|L'esempio seguente ti aiuterà a riconoscere come utilizzare l'espressione JSP in HTML.
|_+_|Otterrai l'output come data e ora correnti come segue:
|_+_|I commenti sono istruzioni che non sono per l'esecuzione. Sono pensati solo per programmatori e lettori. In JSP, i commenti vengono ignorati dal contenitore. Se desideri nascondere una parte del programma JSP, puoi commentare quella parte usando i commenti JSP. Quella che segue è la sintassi per i commenti JSP.
Sintassi:
|_+_|Eseguiremo l'esempio seguente che contiene il commento JSP.
Esempio:
|_+_|Il risultato di questo codice è riportato di seguito.
|_+_|Ci sono molti altri modi in JSP per specificare i commenti. Di seguito sono elencate sei diverse sintassi di commento e i loro usi:
Quanto sopra è indicato come un commento HTML e il browser ignora i caratteri o le parole scritte all'interno del commento.
implica un letterale statico.
Il commento sopra si riferisce anche a un letterale statico.
Specifica una virgoletta doppia utilizzata in un attributo.
Specifica una virgoletta singola utilizzata in un attributo.
Ci sono tre direttive in JSP, , , e . Il La direttiva viene utilizzata per definire gli attributi della pagina, come la pagina di errore, il linguaggio di scripting e i requisiti di buffering. L'altra direttiva, , include un file specifico utilizzato durante la fase di traduzione del ciclo di vita di JSP. Infine, il La direttiva viene utilizzata per dichiarare la libreria di schede e le azioni personalizzate richieste nella pagina JSP. Quando vengono utilizzate le direttive JSP, influiscono sulla struttura della classe servlet. Ecco la sintassi per la direttiva JSP.
|_+_|Le azioni sono funzioni già definite. Le azioni JSP vengono utilizzate per controllare il comportamento del motore servlet. Queste azioni aggiungono il costrutto nel codice XML. Utilizzando le azioni JSP, è possibile inserire qualsiasi file in modo dinamico, creare l'HTML per il plug-in Java o riutilizzare i componenti JavaBeans. Di seguito è riportata la sintassi delle azioni JSP.
Sintassi:
|_+_|Di seguito elenchiamo alcune azioni JSP significative e la loro descrizione:
Ci sono nove oggetti impliciti in JSP, richiesta, risposta, sessione, out, pageContext, config, applicazione, pagina ed eccezione. Facci sapere in dettaglio ogni oggetto implicito qui.
JSP utilizza anche istruzioni di flusso di controllo, istruzioni decisionali e loop. Qui vedremo come l'istruzione decisionale e i loop vengono utilizzati nella programmazione JSP.
Dichiarazioni decisionali
Le dichiarazioni decisionali vengono utilizzate per decidere le scelte disponibili. Ci sono due modi per implementare una dichiarazione decisionale. Uno sta usando l'istruzione if_else e un altro sta usando l'istruzione switch-case. Ciascuna condizione if e else è racchiusa in scriptlet separati. Osserviamo un esempio di un'istruzione if_else in JSP.
Esempio:
|_+_|Qui abbiamo dichiarato 'mese=3' e specificato le condizioni nelle istruzioni if_else. Pertanto l'output sarà:
|_+_|Ora implementeremo le istruzioni switch...case. Il codice seguente è abbastanza diverso dal codice precedente, poiché le condizioni nel codice seguente sono specificate in uno Scriptlet.
Esempio:
|_+_|Produzione:
|_+_|Dichiarazioni di ciclo
Usiamo il ciclo nel programma per ripetere una particolare istruzione un numero specifico di volte. Esistono tre diversi tipi di loop supportati da JSP, for, while e do...while. Vediamo di seguito esempi di ciascun tipo di ciclo.
Per il ciclo:
|_+_|Produzione:
|_+_|Mentre il ciclo:
|_+_|Produzione:
|_+_|Tutti gli operatori logici e aritmetici supportati da Java vengono utilizzati in JSP. Gli operatori vengono utilizzati nelle espressioni JSP per valutarle. L'operatore con la precedenza più alta viene valutato per primo e infine con la precedenza più bassa. Abbiamo elencato prima tutti gli operatori JSP con la precedenza più alta, poi il secondo con la precedenza più alta e così via.
JSP supporta cinque diversi valori letterali o tipi di dati, booleano, intero, a virgola mobile, stringa e NULL. Il valore letterale booleano restituisce come risultato true o false. Viene utilizzato un numero intero per specificare il numero e la virgola mobile viene utilizzato per dichiarare i numeri decimali nel programma JSP. Il tipo di dati String in JSP è diverso da quello del linguaggio Java. Il tipo di dati NULL specifica il valore null.
Azioni JSP
Abbiamo visto quali sono le azioni JSP. Abbiamo anche visto tutte le azioni JSP nel brief sopra. Le azioni non sono altro che funzioni che regolano il comportamento del motore JSP. Ricordiamo la sintassi dell'azione JSP.
Sintassi:
|_+_|Le azioni JSP sono jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body e jsp:text. Tutte queste azioni JSP hanno due componenti comuni, ID e Ambito.
Il componente ID viene utilizzato per identificare in modo univoco qualsiasi azione JSP. Questo componente dell'azione JSP viene utilizzato nel programma JSP, definendo l'azione da eseguire. Un altro elemento è Scope, che viene utilizzato per identificare il ciclo di vita dell'azione JSP. Utilizzando l'ID dell'azione, ne viene determinata la durata. Pertanto, l'elemento ID e l'elemento Scope sono direttamente proporzionali. Il componente Ambito può assumere i possibili valori: pagina, sessione, richiesta o applicazioni.
L'azione
L'azione useBean in JSP trova prima un oggetto che possiede gli attributi ID e Scope. Se l'oggetto non viene trovato, questa azione crea l'oggetto per quell'ID specifico e gli attributi Ambito. Quello che segue è il modo per caricare la classe useBean.
|_+_|Dopo aver caricato la classe Bean, puoi utilizzare le altre due azioni JSP, jsp:setProperty e jsp:getProperty . Queste azioni vengono utilizzate per modificare e recuperare le proprietà del bean. L'azione useBean ne usa tre differenti attributi , classe , genere e beanName. Il classe attributo assegna il nome del pacchetto del bean. Puoi usare il genere elemento per specificare il tipo di variabile per l'oggetto a cui ci riferiamo. Infine, il beanName fornisce il nome del bean. Il metodo instanziate() specifica il nome del bean.
L'azione
L'azione viene utilizzata per impostare la proprietà del fagiolo. L'unico requisito per impostare la proprietà del bean è che il bean deve essere prima definito. Esistono due modi per utilizzare l'azione come segue:
Il primo modo è usare l'esterno e dopo il componente.
|_+_|Nella sintassi precedente, anche se il nuovo elemento non viene istanziato o se non ne viene trovato uno esistente, l'azione viene eseguita.
Un altro modo per definire l'azione è all'interno del componente jsp:useBean.
|_+_|A differenza del primo modo di utilizzare , il secondo modo viene eseguito solo se viene trovato un esistente o se ne viene creata un'istanza.
jsp:setProperty coinvolge quattro diversi attributi, nome , proprietà , valore , e fermare . Il nome attributo assegna il nome al bean di cui si vuole impostare la proprietà. Un altro attributo, proprietà , definisce la proprietà. Il valore è il valore assegnato alla proprietà e il fermare attributo definisce il nome del parametro ricevuto dalla proprietà.
L'azione
Abbiamo visto che l'azione jsp:setProperty imposta il valore della proprietà. Qui, l'azione recupera il valore della proprietà. Dopo aver recuperato il valore, lo trasforma in String e lo aggiunge al risultato.
L'azione ha solo due attributi, nome e proprietà. Il nome attributo definisce il nome del bean che contiene una particolare proprietà e il proprietà attributo definisce il nome della proprietà del Bean. Quella che segue è la sintassi dell'azione:
|_+_|Osserviamo un esempio che contiene il esempio fagiolo. Salva il file sottostante come EsempioBean.java .
|_+_|Dopo aver scritto questo codice nel file EsempioBean.java file, compilalo per generare il file EsempioBean.class file. Ora, copia il EsempioBean.class file al C:apache-tomcat-7.0.2webappsWEB-INFclassiazione cartella. Assicurati di aver impostato anche il PERCORSO CLASSICO variabile.
Ora devi creare il file main.jsp e scriverci il codice seguente.
|_+_|Produzione:
|_+_|L'azione
Quando si desidera inserire elementi Java nel programma JSP, viene utilizzata l'azione. Questa azione identifica anche il tipo di browser e aggiunge o tag nel programma JSP. Supponiamo di aver bisogno del componente Java, il cui plugin non è disponibile. L'azione scarica il plug-in necessario per eseguire il componente Java, come Applet o Bean. Ci sono più attributi nell'azione del plugin, che corrisponde ai tag HTML.
Di seguito è riportato un semplice esempio dell'azione.
|_+_|Nel codice sopra, possiamo osservare il nuovo elemento, . Quando il componente si guasta, questo elemento invia la stringa di errore all'utente.
Le azioni, come , , e definisce gli elementi XML. Tutti gli elementi XML vengono generati in fase di esecuzione e non in fase di compilazione, ovvero vengono generati dinamicamente.
L'azione
Quando si desidera terminare l'azione della pagina corrente e inoltrarla all'altra risorsa, è possibile utilizzare il azione. La sintassi di questa azione è data come segue:
|_+_|Un solo attributo è associato all'azione, il pagina . Questa pagina deve includere l'URL relativo della risorsa, dove viene trasferita l'azione. La risorsa può essere la pagina JSP, il servlet Java e la pagina statica.
Ora vedremo un semplice esempio dell'azione. Creeremo due file, data.jsp e main.jsp . Il file date.jsp visualizzerà la data corrente e il file main.jsp contiene l'azione.
data.jsp
|_+_|file main.jsp
|_+_|È necessario salvare entrambi i file nella directory ROOT. Ora accederemo al file main.jsp per il risultato. Non visualizzerà il contenuto del file main.jsp; visualizzerà invece il contenuto del file date.jsp, poiché si tratta di un file inoltrato.
Produzione:
|_+_|L'azione
Utilizzando l'azione, possiamo scrivere modelli di testo o documenti nelle pagine JSP. Di seguito è riportata la sintassi dell'azione:
|_+_|Qui, il modello contiene solo testo ed espressioni EL. Nessun altro elemento può essere presente nel modello. Nei file XML, non utilizzare l'espressione come ${qualunque cosa > 0} , poiché questo segno non è consentito o illegale. Invece, puoi usare ${qualunque cosa gt 0} .
Direttive JSP
Nella sezione della sintassi, abbiamo visto quali sono le directory in JSP. Qui impareremo le directory JSP in dettaglio. Le direttive sono essenziali in JSP, poiché comandano e dirigono il container JSP per la gestione e la regolazione di elementi di elaborazione JSP specifici. L'intera struttura della classe servlet viene influenzata a causa delle direttive JSP.
Sintassi:
|_+_|Gli attributi nelle direttive sono del formato chiave-valore. Ci possono essere diversi attributi nelle direttive e ognuno è separato da una virgola. Nella sintassi sopra, possiamo osservare uno spazio tra '<%@’ e il nome della direttiva e il valore e '%>.' Questi spazi sono facoltativi. Non c'è da preoccuparsi se non si aggiungono spazi tra di loro. Abbiamo visto sopra che ci sono tre tag direttiva, , , e . Discutiamo in dettaglio ciascuno di questi tag di direttiva.
La direttiva sulla pagina
La direttiva Page fornisce istruzioni alla pagina corrente del contenitore. Puoi includere la direttiva della pagina ovunque nel tuo programma JSP. In genere, la direttiva page viene utilizzata nella parte superiore della pagina JSP. La sintassi della direttiva page è:
|_+_|La sintassi di cui sopra è scritta in XML come indicato di seguito:
|_+_|Ci sono 13 attributi associati alla direttiva della pagina, come spiegato di seguito.
La direttiva Includi
Durante la fase di traduzione, il includere viene utilizzata per includere il file nella pagina JSP. Questa direttiva serve anche a indirizzare il contenitore sulla combinazione di tutti i file esterni con la pagina JSP. Poiché la direttiva della pagina è inclusa solo nella parte superiore della pagina JSP, la direttiva include può essere utilizzata in qualsiasi punto della pagina.
Sintassi:
|_+_|La sintassi di cui sopra è scritta in XML come segue:
|_+_|Qui, il nome del file è l'URL relativo. Se non si definisce il percorso del file, il compilatore presume che il file sia presente nella posizione del JSP.
La directory taglib
L'ultimo tipo di directory è taglib . Questa directory fornisce molte informazioni sulla pagina JSP, come l'insieme di tag personalizzati utilizzati, la posizione della libreria e la ricerca dei tag personalizzati dalla pagina JSP. Di seguito è riportata la sintassi della directory taglib.
|_+_|La sintassi di cui sopra può essere scritta in XML come segue:
|_+_|L'attributo, odiare , specifica la posizione che il contenitore può comprendere e il prefisso l'attributo indica al contenitore la composizione delle azioni personalizzate.
Oggetti impliciti JSP
Gli oggetti impliciti JSP sono oggetti Java. Il contenitore JSP consente agli sviluppatori di utilizzare questi oggetti impliciti in ogni pagina JSP senza essere dichiarati esplicitamente. Questi oggetti sono anche chiamati variabili predefinite . Esistono nove diversi oggetti impliciti: richiesta, risposta, uscita, sessione, applicazione, pagina, pageContext, configurazione ed eccezione.
L'oggetto della richiesta
Il javax.servlet.http.HttpServletRequest l'oggetto crea un'istanza chiamata richiesta oggetto. Quando un client o un utente richiede una pagina particolare, il motore JSP genera un nuovo oggetto che rappresenta la richiesta del client. Il richiesta object offre diversi metodi per estrarre le informazioni dell'intestazione HTTP, come metodi HTTP, cookie, ecc.
L'oggetto risposta
Il javax.servlet.http.HttpServletResponse l'oggetto crea un'istanza chiamata risposta oggetto. Poiché il motore JSP crea il nuovo oggetto ogni volta che l'utente richiede una pagina particolare, crea anche un oggetto che ne rappresenta la risposta. Utilizzando l'oggetto risposta, puoi includere nuovi cookie nel programma JSP, come codici di stato HTTP, timbri, ecc.
L'oggetto fuori
Il javax.servlet.jsp.JspWriter l'oggetto crea un'istanza chiamata fuori oggetto. Il motore JSP può aggiungere contenuto alla risposta richiesta dal client. Il JspWriter oggetto ha quasi gli stessi metodi presenti in java.io.PrintWriter classe. Ci sono alcuni metodi aggiuntivi nel JspWriter oggetto utilizzato per il buffering e genera IOException.
L'oggetto dell'applicazione
Il javax.servlet.ServletContext crea un'istanza chiamata an applicazione oggetto, che funge da wrapper per il ServletContext oggetto. Questo oggetto rappresenta la pagina JSP. Quando la pagina JSP viene inizializzata, viene creato un oggetto applicazione. Questo oggetto viene rimosso, poiché la pagina JSP viene distrutta utilizzando il metodo jspDestroy().
L'oggetto della sessione
Il javax.servlet.http.HttpSession crea un'istanza chiamata il sessione oggetto. Questo oggetto funziona in modo simile a come funziona nei servlet Java. L'obiettivo principale dell'oggetto sessione è tenere traccia della sessione tra le richieste del client.
L'eccezione Oggetto
Un wrapper contenente l'eccezione dalla pagina JSP precedente è chiamato oggetto eccezione. Quando si verifica una condizione di errore, per gestirla viene utilizzato un oggetto eccezione.
La pagina Oggetto
L'oggetto pagina fornisce il riferimento all'istanza della pagina. Rappresenta l'intera pagina JSP. Il ' questo' l'oggetto e l'oggetto della pagina sono sinonimi l'uno dell'altro.
L'oggetto pageContext
Il javax.servlet.jsp.PageContext crea un'istanza chiamata pageContext oggetto. Come il pagina oggetto, il pageContext oggetto rappresenta anche la pagina JSP completa. Usando gli attributi dell'oggetto pageContext, possiamo derivare altri oggetti impliciti, come applicazione , config , sessione , e fuori . Questo oggetto memorizza anche informazioni, come l'ambito della pagina, errorPageURL e informazioni sul buffering. Sono disponibili 40 metodi supportati dall'oggetto pageContext.
L'oggetto di configurazione
Il javax.servlet.ServletConfig crea un'istanza chiamata il config oggetto. Questo oggetto funge da wrapper per il ServletConfig oggetto. Gli utenti possono utilizzare questo oggetto per accedere ai parametri di inizializzazione del servlet o del motore JSP. Il metodo seguente è quello utilizzato nella pagina JSP utilizzando l'oggetto config.
|_+_|Richiesta client JSP
Il server web riceve molte informazioni quando il browser o il client richiede una determinata pagina web. Queste informazioni non possono essere utilizzate direttamente, poiché viaggiano attraverso l'intestazione della richiesta HTTP. L'intestazione HTTP contiene diversi elementi che memorizzano le informazioni quando il browser richiede la pagina web. Questi elementi sono accetta, accetta-charset, accetta-codifica, accetta-lingua, connessione, autorizzazione, cookie, lunghezza del contenuto, se-modificato-dal momento, host, referrer, se-non modificato-dal momento e user-agent.
L'oggetto HTTPServletRequest
L'oggetto javax.servlet.http.HttpServletRequest crea un'istanza denominata oggetto richiesta. Ogni volta che un utente richiede una pagina particolare, il motore JSP genera il nuovo oggetto. L'obiettivo principale dell'oggetto richiesta è recuperare le informazioni HTTP, come dati, metodi HTTP, cookie, ecc. Di seguito sono riportati alcuni metodi che leggono le informazioni dell'intestazione HTTP dal programma JSP.
L'esempio di richiesta di intestazione HTTP
Qui vedremo un semplice esempio di HTTP Header Request. Nell'esempio della richiesta di intestazione HTTP, applicheremo il getHeaderName() metodo per leggere le informazioni dell'intestazione HTTP. Produce un'enumerazione contenente le informazioni di intestazione HTTP della richiesta. Il metodo hasmoreElements() determina quando il metodo nextElement() deve essere interrotto.
Esempio:
|_+_|Scrivi il codice sopra nel file main.jsp file e accedervi per leggere le informazioni dell'intestazione della richiesta HTTP. Ti fornirà tutte le informazioni sull'intestazione della richiesta HTTP, come host, connessione, controllo della cache, user-agent, accept, accept-language e accept-encoding.
Risposta del server JSP
Quando il client o il browser richiede la pagina Web, il server Web risponde alla richiesta HTTP denominata risposta. Questa risposta include una riga vuota, un documento, la riga di stato e un'intestazione di risposta. La risposta HTTP ha il seguente aspetto:
|_+_|Nel codice sopra, la versione HTTP è HTTP/1.1 , 200 è il codice di stato, e ok è il messaggio al codice di stato. Esistono più intestazioni di risposta, con la versione HTTP/1.1 inviata dal server Web al browser. Queste intestazioni di risposta sono controllo della cache, consenti, disposizione del contenuto, connessione, lunghezza del contenuto, codifica del contenuto, lingua del contenuto, scade, tipo di contenuto, posizione, ultima modifica, set-cookie, aggiornamento e riprova dopo .
L'oggetto HttpServletResponse
javax.servlet.http.HttpServletResponse crea un'istanza denominata oggetto risposta. Questo oggetto viene creato dal server web, che rappresenta la risposta inviata al client. L'oggetto risposta è anche associato alle interfacce richieste per la creazione delle intestazioni HTTP. I programmatori possono aggiungere nuovi cookie, codici di stato HTTP e timbri di data nel programma JSP. Di seguito sono riportati alcuni metodi o funzioni utilizzati per aggiungere l'intestazione della risposta HTTP nel programma servlet.
L'esempio di risposta dell'intestazione HTTP
Ecco un esempio della risposta dell'intestazione HTTP, che utilizza la funzione setIntHeader() per impostare l'intestazione Aggiorna.
Esempio:
|_+_|Salva il codice sopra con il nome del file, main.jsp . Dopo ogni 4 secondi, viene visualizzata l'ora corrente del sistema, come mostrato di seguito.
Produzione:
|_+_|Codice di stato HTTP in JSP
La richiesta HTTP e la risposta HTTP hanno la stessa struttura come segue:
Nella sezione precedente, abbiamo visto come appare l'intestazione della risposta.
Il server web restituisce alcuni codici HTTP e i rispettivi messaggi al client. Questi codici di stato HTTP e i relativi messaggi sono descritti nella sezione seguente.
Codice | Messaggio |
100 | Continua |
101 | Cambiare i protocolli |
200 | ok |
201 | Creato |
202 | Accettato |
203 | Informazioni non autorevoli |
204 | Nessun contenuto |
205 | Ripristina contenuto |
206 | Contenuto parziale |
300 | Scelte multiple |
301 | Si muove in modo permanente |
302 | Fondare |
303 | Vedi Altro |
304 | Non modificato |
305 | Usa un proxy |
306 | Inutilizzato |
307 | Reindirizzamento temporaneo |
400 | Brutta richiesta |
401 | Non autorizzato |
402 | Pagamento richiesto |
403 | Vietato |
404 | Non trovato |
405 | operazione non permessa |
406 | Non accettabile |
407 | Autenticazione proxy richiesta |
408 | Richiedi timeout |
409 | Conflitto |
410 | Andato |
411 | Lunghezza richiesta |
412 | Condizione preliminare non riuscita |
413 | Entità richiesta troppo grande |
414 | URL di richiesta troppo lungo |
415 | Tipo di supporto non supportato |
417 | Aspettativa fallita |
500 | Errore interno del server |
501 | Non implementato |
502 | Cattivo gateway |
503 | Servizio non disponibile |
504 | Timeout del gateway |
505 | Versione HTTP non supportata |
I tre diversi metodi vengono utilizzati per impostare il codice di stato HTTP come indicato di seguito:
Vedremo un semplice esempio, che visualizzerà il codice di stato dell'errore 407 al client.
Esempio:
|_+_|Il codice sopra visualizzerà il codice di stato HTTP 407 con il Necessità di autenticazione Messaggio.
Elaborazione moduli in JSP
Molte volte abbiamo bisogno di trasmettere i dati dal browser al server web e infine al programma. Esistono due metodi, GET e POST utilizzati dal browser per trasmettere questi dati al server web. I quattro metodi vengono utilizzati per leggere i dati utilizzando JSP, getParameter() , getParameterValues() , getParameterNames() , e getInputStream() .
Il metodo GET
Il metodo GET viene utilizzato per trasmettere le informazioni utente codificate e aggiungerle alla richiesta di pagina. Le informazioni utente codificate e la richiesta di pagina sono separate dal simbolo '?'. Questo metodo è l'impostazione predefinita per trasmettere le informazioni dell'utente al server Web dal browser. Restituisce la stringa che sarà presente nel file Posizione: scatola del Browser. Se disponi di dati riservati, come le password, non utilizzare il metodo GET.
Esempio del metodo GET che utilizza l'URL
Creiamo l'URL che passerà due valori diversi al programma GetURLForm usando il metodo GET.
|_+_|Scriveremo il codice seguente nel file main.jsp. Abbiamo usato i metodi getParameter() per leggere i dati usando JSP.
Esempio:
|_+_|Produzione:
|_+_|Gestione dei cookie
Cosa sono i cookie? I cookie sono i file di testo presenti nel desktop del cliente e vengono utilizzati a fini di tracciamento. I cookie HTTP sono supportati dal JSP. Qui vedremo l'anatomia del cookie HTTP, come impostare o reimpostare il cookie e metodi nei cookie.
Anatomia di un biscotto
Il cookie è sempre presente nell'intestazione HTTP. Quando il JSP imposta il cookie nell'intestazione HTTP, ha la struttura seguente.
|_+_|Nel Intestazione Set-Cookie sopra, puoi osservare il nome-valore coppia, Data in GMT, a sentiero , e il dominio . Questa coppia nome-valore è presente nel formato URL. Un altro elemento nel cookie di cui sopra è scade , che indica al browser di dimenticare questo cookie dopo la data e l'ora specificate.
Metodi dei cookie
Di seguito sono riportati alcuni metodi significativi relativi ai Cookie, insieme alle loro descrizioni.
Come impostare il Cookie?
Esistono tre metodi semplici per impostare il cookie. Questi metodi sono spiegati di seguito:
Durante la creazione del cookie, è necessario ricordare che non devono essere presenti spazi vuoti o simboli speciali nel nome e nel valore.
La funzione di cui sopra imposta la durata massima dei cookie di 24 ore.
Conclusione
JavaServer Pages o Jakarta Server Pages (JSP) è la tecnologia che consente agli sviluppatori di creare contenuti dinamici o pagine web. Esistono numerosi vantaggi avanzati di JSP, in quanto è facile da mantenere, richiede meno codice rispetto ai servlet e offre uno sviluppo rapido. Questo articolo è una guida rapida per apprendere JSP per utenti inesperti.
Abbiamo coperto tutti gli aspetti del JSP necessari per l'apprendimento degli sviluppatori inesperti. Prima di avviare qualsiasi programma JSP, configurare prima l'ambiente Java e il percorso di classe Tomcat. Ecco un tutorial completo su tutti gli elementi JSP essenziali.
Abbiamo un Guida rapida alla teoria dei grafi che parla in dettaglio di tutti i dettagli relativi alla teoria dei grafi.