Servlet Servlet. Creazione di applicazioni Java utilizzando servlet Nozioni di base sui servlet

Servlet - questo è Java-nporpaMMa, che utilizza la classe come superclasse HttpServiet. Una servlet viene utilizzata per estendere le capacità di un server esistente, in particolare di un server Web. Tipicamente, una servlet viene eseguita su un server speciale. Tali server sono chiamati Java Application Server. Un server di applicazioni Java include come elemento costitutivo un server Web (a volte non uno, ma diversi), nonché server che funzionano con componenti server, server di servizi ausiliari, ecc. Un servlet opera nell'ambiente fornito dal server. La parte del server progettata per gestire le servlet è chiamata contenitore delle servlet. La specifica del servlet presuppone la presenza di metodi standard nella classe servlet, la cui esecuzione avviene in una o nell'altra fase del ciclo di vita del servlet. Questi metodi vengono chiamati dal contenitore servlet. Un'implementazione della specifica servlet è inclusa nei pacchetti linguistici Java standard.

Questo libro tratta un server di applicazioni Java chiamato Blazix. Blazix Server fornisce un set completo di funzionalità per lavorare con i servlet. Oltre a creare una classe (o classi) servlet, nonché a configurare il programma servlet creato e installarlo sul server, è necessario modificare il file di configurazione del server Web. I valori di base sono specificati nel file di configurazione come segue: servlet.name: myservlet

servlet.myservlet.classNome: miopacchetto.MyServletClass servlet.mioservlet.url: /mysrvlet

Ad ogni servlet deve essere assegnato un nome(servlet.name), con cui viene identificato sul server. Questo nome viene utilizzato per impostare le proprietà del servlet, in particolare per indicare il nome della classe in cui è memorizzato il programma servlet (riga successiva), nonché l'indirizzo al quale si accede a questo servlet (terza riga).

Il client chiede al server Web l'indirizzo dove si trova la servlet (l'indirizzo deve essere specificato come valore di servlet.myservlet.url nel file di configurazione del server Web). Il server passa la richiesta e i dati (se presenti) al servlet, riceve la risposta dal servlet e la inoltra al client.

Questa potrebbe essere la fine della spiegazione di cosa sia un servlet. Tuttavia, ci sono molti dettagli interessanti e utili a cui dovresti prestare attenzione e studiarli in modo più dettagliato.

È particolarmente importante tenere presente che il percorso della classe servlet deve essere specificato in una variabile ciasspath oppure può essere posizionato nella directory C:\Blazix\classes o nella directory specificata nel file di configurazione del server Web come server.ciassDir. Dopo che il file di configurazione è stato modificato per includere informazioni sul nuovo servlet, il server deve essere arrestato e riavviato. Il servlet può anche essere posizionato su un server in esecuzione utilizzando l'utilità di amministrazione, ma per fare ciò, il servlet deve essere inserito in un file WAR di archivio Web. Se il file della classe servlet è stato modificato, non è necessario arrestare il server e riavviarlo. Per impostazione predefinita, il server è configurato in modo che la chiamata di un servlet su http://localhost:81/_reload provochi il ricaricamento di tutte le classi e la classe servlet modificata sia disponibile per le richieste del client (Figura 4.1). Visita questa pagina dopo che il file della classe servlet è stato modificato. Arrestare il server semplicemente non è necessario.

Se il lettore ha avuto una certa esperienza con i servlet, apprezzerà la semplicità del server Blazix rispetto ad altri server Java, come Tomcat.

Per iniziare subito, diamo un'occhiata a un semplice esempio, un servlet alcuni-servlet (Listato 4.1).

Listato 4.1. Servlet SomeServlet.java I

importa java.io.*; importa javax.servlet.*; importa javax.servlet.http.*;

la classe pubblica SomeServlet estende HttpServlet ( public void doGet(richiesta HttpServletRequest,

HttpServletResponse risposta) lancia ServletException, IOException ( Printwriter out = risposta.getWriter(); out.println("Hello World");

Nel file di configurazione del server Web, scrivere quanto segue:

servlet.name: primo

servlet.first.className: SomeServlet

servlet.first.url: /dofirst

Quindi apparirà la chiamata al servlet dal browser http://localhost:81 /dofirst (Figura 4.2).

Le servlet Java forniscono un metodo indipendente dalla piattaforma per creare applicazioni Web (questo non è indiscutibile, ma non approfondiremo ulteriormente la questione, poiché in quel caso dovremo decidere cosa intendiamo per applicazione Web, che non è inclusa nell'elenco degli argomenti trattati) e molte applicazioni. Sono veloci nel funzionamento e prive delle limitazioni che hanno le applicazioni CGI. Una servlet viene eseguita sotto il controllo di un server Web e, a differenza di un'applet, non richiede un'interfaccia utente grafica. La servlet interagisce con il server scambiando con esso richieste e risposte. Il programma client effettua richieste al server. La richiesta viene elaborata dal server, passata al servlet e il servlet invia una risposta tramite il server al client. Oggi, i servlet sono molto popolari quando si creano applicazioni Web interattive. Esistono molti server Web in grado di gestire servlet, inclusi Tomcat, iPlanet Web Server (in precedenza Netscape

Enterprise Server), Blazix. J Builder Enterprise utilizza il Borland Enterprise Server (BES) incluso e supporta anche Server Web Logica, WebSphere e iPlanet. J Builder Enterprise Server include un server Tomcat predefinito.

Riso. 4.2. Chiamare un servlet

Un vantaggio importante dei servlet è la loro velocità. A differenza delle applicazioni CGI, le servlet vengono caricate in memoria una sola volta e quindi eseguite direttamente dalla memoria. Le servlet sono essenzialmente applicazioni multi-thread. Inoltre, sono indipendenti dalla piattaforma poiché sono scritti in Java.

Tecnologia JSP, a cui è dedicata Il capitolo 3 è un'estensione della tecnologia servlet a JSP Attenzione speciale si concentra sul lavoro con documenti HTML e XML. I frammenti JSP trovano il loro utilizzo più comune come parte del codice HTML e XML. Come fare una scelta e decidere se utilizzare servlet o pagine server? Le servlet sono più adatte a risolvere problemi di programmazione di basso livello e meno adatte a risolvere problemi di creazione della logica di presentazione dell'applicazione. Le pagine del server JSP, invece, si concentrano principalmente su come presentare il risultato all'utente nel modo più conveniente. Le pagine lato server vengono create incorporate nel codice HTML utilizzando lo stile di creazione dei documenti HTML. La tecnologia JSP offre funzionalità molto più ricche rispetto al semplice HTML. Le pagine JSP possono fornire la possibilità di implementare la logica dell'applicazione utilizzando semplici componenti Java nonché componenti server EJB creando librerie di collegamenti personalizzate. Le stesse pagine del server Java possono essere componenti logici di presentazione modulari e riutilizzabili che possono essere utilizzati insieme a vari modelli e filtri. Le pagine JSP vengono convertite in servlet, quindi in teoria è possibile utilizzare esclusivamente servlet. Tuttavia, la tecnologia JSP è stata creata per semplificare il processo di creazione di documenti Web separando la logica di presentazione dell'applicazione dal contenuto del documento. Nella maggior parte dei casi, la risposta inviata al cliente è composta sia da modelli di presentazione del documento, sia da dati generati automaticamente compilando il modello. In tali situazioni risulta molto più semplice lavorare con JSP che con i servlet.

Una delle cose migliori di Java è la sua natura versatile. Naturalmente, la creazione di desktop tradizionali e persino applicazioni mobili- E' grandioso. Ma cosa succede se vuoi uscire dai sentieri battuti ed entrare nel territorio dello sviluppo di applicazioni web in Java? Ce n'è uno per te buone notizie: Il linguaggio viene fornito con un'API Servlet completa che consente di creare applicazioni Web affidabili senza troppi problemi.

Creazione di applicazioni Java con servlet

Quindi, abbiamo già creato i file di configurazione dell'applicazione. Tuttavia, nel suo stato attuale, non fa letteralmente nulla. Vogliamo che i clienti siano in grado di registrarsi utilizzando un modulo HTML, quindi la prossima cosa che dobbiamo fare è creare file JSP che visualizzeranno il modulo sopra e i dettagli del cliente una volta completata con successo la registrazione. Questo è ciò che faremo ora.

Stiamo lavorando sull'aspetto

L'aspetto dell'applicazione sarà definito da due file JSP: nel contesto MVC questi sono chiamati visualizzazioni. Il primo sarà responsabile della visualizzazione del modulo di registrazione e possibili errori, richiamato dopo aver controllato i dati inseriti. La seconda sarà una normale pagina di benvenuto che mostrerà i dati inseriti dal cliente una volta completata con successo la procedura di registrazione.

Ecco il primo file JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Registrazione

Registrazione

$(violazione).