Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Tomcat: l'applicazione è servita

Installare, usare Tomcat e creare una semplice servlet
Installare, usare Tomcat e creare una semplice servlet
Link copiato negli appunti

Nell'enorme vocabolario di termini e acronimi legati alla piattaforma Java, un posto di rilievo è certamente occupato da Tomcat. Vedremo, in questo articolo, di descrivere (senza eccessivi approfondimenti) le funzionalità e le caratteristiche di questo server.

Cos'è Tomcat?

Tomcat appartiene è un software open source. La sua funzionalità di spicco è quella del Web Application Server, ovvero un server capace di gestire e supportare le pagine JSP e le servlet nel rispetto delle specifiche 2.4 (per le servlet) e 2.0 (per le JSP). Tuttavia, in particolare con l'ultima versione di Tomcat (la 5.5.16 al momento in cui si scrive questo articolo), sono state ampliate le funzionalità iniziali apportando le seguenti innovazioni:

  1. Supporto di alcuni framework di sviluppo come ad esempio Struts;
  2. Supporto dei Web Services attraverso l'utilizzo del framework ApacheAxis;
  3. Supporto delle tecnologie di Object-relational mapping come Hibernate.

Infine, è importante sapere che Tomcat è in grado di svolgere anche le veci di un Web Server, anche se limitato alla gestione di sole pagine statiche.

Dove reperire Tomcat?

Tomcat è stato sviluppato dalla Apache Software Foundation. È possibile scaricare il software e tutte le informazioni utili al riguardo presso l'apposita sezione del sito di Apache. Poiché faremo riferimento alla release 5.5.16, per scaricarla sarà sufficiente andare sulla pagina di download e scorrere fino ad arrivare alle binary distributions della versione 5.5.16. Effettuiamo il download, dunque, della core distribution di nostro interesse, basandoci sul sistema operativo su cui andremo ad installare Tomcat.

Installazione

Per installare Tomcat sarà sufficiente mandare in esecuzione il programma: apache-tomcat-5.5.16.exe e attenersi alle istruzioni visualizzate passo dopo passo dal wizard di installazione. In particolare, è bene tener presenti i seguenti punti:

  • L'utente che effettua l'installazione deve avere i privilegi di administrator della macchina, in quanto Tomcat viene installato come servizio di sistema;
  • È possibile scegliere la porta TCP su cui Tomcat si mette in ascolto: di norma, comunque, è bene lasciare l'impostazione di default, ovvero 8080.
Figura 1. Configurazione Tomcat
Configurazione Tomcat
  • È necessario avere installato precedentemente sulla macchina una versione della Java Virtual Machine. Nel caso siano presenti sul sistema più versioni di JVM, sarà cura dell'utente selezionare quella che Tomcat dovrà utilizzare (in ogni caso non inferiore alla versione 1.5.0).
  • Se è attivo il firewall (quello proprio di Windows XP ma anche qualche altro) potrebbe essere necessario abilitare la porta sulla quale Tomcat si mette in ascolto per le richieste (come detto, di default è la 8080).

Verifica dell'installazione

Terminata l'installazione dobbiamo verificare che quest'ultima sia andata a buon fine, prima di iniziare ad utilizzare il nostro Web Application Server.

Se, al termine della procedura guidata dell'installazione si è selezionata la checkbox "Run Apache Tomcat", come visualizzato in figura, basterà aprire una finestra del browser e digitare l'indirizzo: http://localhost:8080.

Figura 2. Fine Setup
Fine fase di setup

Se, invece, si è scelto di non mandare in esecuzione il server, sarà necessario avviare il server manualmente. Dal prompt di DOS ci posizioniamo sulla directory [DISCO]:[PATH Directory Tomcat]bin ed eseguire il file tomcat5w.exe. Apparirà la seguente finestra di dialogo:

Figura 3. Proprietà di Apache Tomcat
Fine fase di setup

Cliccando sul pulsante Start, si procederà all'avvio del server. A questo punto, è possibile aprire il browser all'indirizzo http://localhost:8080 e, se l'installazione è stata eseguita in modo corretto, visualizzare la seguente pagina:

Figura 4. Installazione avvenuta con successo
Installazione avvenuta con successo

Attraverso la pagina di startup, come si vede dalla figura precedente, è possibile muoversi su svariati link, dei quali segnaliamo, in modo particolare:

  1. La documentazione completa di Tomcat;
  2. La pagina di gestione di Tomcat (Tomcat Manager);
  3. Esempi JSP e Servlet.

Per quanto concerne il link Tomcat Administration, per poterlo utilizzare sarà necessario scaricare dalle binary distributions anche il file: apache-tomcat-5.5.16-embed.zip, puntato dal link identificato dalla label "Administration Web Application".

Come effettuare il Deploy di una servlet

È arrivato il momento di mettere alla prova il nostro Tomcat. Per farlo scriveremo una semplice servlet che si limiti a visualizzare l'ora corrente ed effettueremo il deploy di essa su Tomcat. Vediamo il codice della servlet:

Listato 1. Esempio di una servlet

import javax.servlet.http.*;
import javax.servlet.*;
import java.io.PrintWriter;
import java.util.Date;

public class DateServlet extends HttpServlet
{
public DateServlet()
{
}

public Date getDate()
{
return new Date();
}

public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException
{
try
{
resp.setContentType("text/plain");
PrintWriter out = resp.getWriter();
out.println(getDate().toString());
}
catch (Exception e)
{
e.printStackTrace();
}
}

protected void doPut(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, java.io.IOException
{
doGet(req, resp);
}
}

Salviamo dunque la servlet e la compiliamo (a tale scopo potremmo avvalerci di un IDE specializzato come Eclipse oppure usare semplicemente il notepad e compilare da riga di comando con javac).
A questo punto, abbiamo due scelte: effettuare il deploy "a mano" creando da soli le opportune directory e i relativi file sotto la cartella "webapps" di Tomcat oppure utilizzare il Tomcat Web Application Manager. Scegliamo la seconda possibilità.

Tomcat Web Application Manager

Apriamo un browser e digitiamo il seguente indirizzo: http://localhost:8080/manager/html. Apparirà la seguente finestra di dialogo:

Figura 5. Inserimento Password
Inserimento Password

Qui inseriremo le credenziali di administrator del server scelte in fase di installazione. Una volta cliccato il pulsante OK, verrà caricata sul browser la seguente pagina:

Figura 6. Web Application Manager
Web Application Manager

Attraverso il Web Application Manager, come è facile notare, è possibile vedere le applicazioni correntemente gestite da Tomcat (identificate dalla tabella Applications), ognuna delle quali può essere manipolata attraverso i seguenti comandi:

  • Start: Avvia l'applicazione
  • Stop: Interrompe l'applicazione
  • Reload: Ricarica l'applicazione (utile se sono state apportate delle modifiche)
  • Undeploy: Rimuove l'applicazione da Tomcat

Utilizzando lo spazio in basso alla pagina, invece, è possibile effettuare il deployment di una nuova applicazione. Prima, però, occorre creare un "web archive" (estensione .WAR) nel quale includere i file necessari affinché l'operazione di deployment sia possibile. Pertanto, struttureremo le directory contenenti la nostra servlet in questo modo:

Figura 6. Struttura Directory
Struttura Directory

Nella directory DateServlet inseriremo tutti i file sorgenti che, nel nostro semplice caso, corrispondono all'unico file DateServlet.java.

Nella cartella WEB-INF/classes copieremo il bytecode equivalente al prodotto della compilazione dei sorgenti e, quindi, il file DateServlet.class.

Occorre, infine, inserire nella directory WEB-INF un file con estensione .xml, noto come deployment descriptor, che dovà essere identificato dal nome web.xml. Attraverso di esso, Tomcat è in grado di ricavare tutte le informazioni necessarie al deployment. Per il nostro esempio, il file web.xml sarà molto semplice ma è bene sapere che esistono molti elementi che possono essere coinvolti in fase di impostazione di questo file. Per una descrizione approfondita di tutti questi elementi si consiglia di consultare la documentazione completa al riguardo.

Il nostro deployment descriptor sarà così composto:

Listato 2. Il descrittore di deployment

<?xml version="1.0" encoding="utf-8" ?>
<web-app>
<servlet>
<servlet-name>DateServlet</servlet-name>
<description>Una semplicissima Servlet</description>
<servlet-class>DateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DateServlet</servlet-name>
<url-pattern>/DateServlet</url-pattern>
</servlet-mapping>
</web-app>

Si usano quindi i due elementi servlet e servlet-mapping che, rispettivamente, contengono

  • le definizioni delle servlet utilizzate (compresi eventuali parametri di inizializzazione)
  • le informazioni necessarie a Tomcat per inviare una particolare richiesta verso una specifica servlet.

In generale, è necessario inserire nel deployment descriptor tanti elementi di tipo <servlet> quante sono le servlet utilizzate in una determinata applicazione, mentre è possibile definire anche più elementi <servlet-mapping> per ogni elemento di tipo <servlet>.

Più in dettaglio, l'elemento <servlet-class> conterrà il nome della classe corrispondente alla servlet definita, mentre l'elemento <url-pattern> indicherà il percorso da digitare sul browser per invocare la servlet il cui nome è indicato all'interno del tag <servlet-name>. Pertanto, la URL completa per la nostra servlet (una volta effettuato il deploy) sarà:

http://localhost:8080/DateServlet/DateServlet

Per creare il file .WAR ci si posiziona sulla directory di base, dove abbiamo creato la nostra servlet e utilizzare il comando:

jar - DateServlet.war .

Attenzione a non dimenticare il punto finale, che sta ad indicare la directory corrente!

È arrivato il momento di effettuare il deployment vero e proprio su Tomcat. Utilizzando il campo di testo indicato dalla label "Select WAR file to upload" si inserisca il percorso completo del file .WAR creato in precedenza (è possibile anche svolgere tale compito avvalendosi del pulsante Browse), come visualizzato nella figura sottostante:

Figura 7. Deploy
Deploy

Si prema, infine, il tasto "Deploy".

Se tutto è andato bene e Tomcat non ha rilevato errori nel Web Archive, sarà possibile visualizzare la servlet DateServlet nell'elenco delle applicazioni (si noti anche che Tomcat provvede ad eseguire lo start dell'applicazione stessa in modo automatico):

Figura 8. Application Manager
Application Manager

Siamo pronti, finalmente, a visualizzare il contenuto della servlet. Digitiamo sul browser l'indirizzo: http://localhost:8080/DateServlet/DateServlet ed otterremo una pagina web indicante la data e l'orario corrente:

Figura 7. Esecuzione Applicazione
Esecuzione Applicazione

Alla prossima.

Ti consigliamo anche