Apache Tomcat

Apache Tomcat (o semplicemente Tomcat) è un contenitore servlet open source sviluppato dalla Apache Software Foundation. Implementa le specifiche JavaServer Pages (JSP) e Servlet di Sun Microsystems, fornendo quindi una piattaforma software per l'esecuzione di applicazioni Web sviluppate in linguaggio Java

La sua distribuzione standard include anche le funzionalità di web server tradizionale, che corrispondono al prodotto Apache ed è costituita da 3 componenti principali:

Catalina

Catalina è il contenitore di servlet Java di Tomcat. Catalina implementa le specifiche di Sun Microsystems per le servlets Java e le "JavaServer Pages (JSP, Pagine JavaServer). In Tomcat un elemento del Reame rappresenta un database di usernamespasswordse ruoli (analoghi dei gruppi di UNIX) assegnati a quegli utenti. Differenti implementazioni del Reame permettono a Catalina di essere integrato in ambienti dove tali informazioni di autenticazione sono già state create e supportate, e poi gli permettono di utilizzare tali informazioni per implementare una cosiddetta "Container Managed Security" come descritto nelle Specifiche delle Servlet.[3]

Coyote

Coyote è il componente "connettore HTTP" di Tomcat. Supporta il protocollo HTTP 1.1 per il web server o per il contenitore di applicazioni. Coyote ascolta le connessioni in entrata su una specifica porta TCP sul server e inoltra la richiesta al Tomcat Engine per processare la richiesta e mandare indietro una risposta al client richiedente.

Jasper

Jasper è il motore JSP di Tomcat. Tomcat 5.x utilizza in realtà Jasper 2, che è un'implementazione delle specifiche 2.0 delle Pagine JavaServer (JSP) di Sun Microsystems. Jasper analizza i file JSP per compilarli in codice Java come servlets (che verranno poi gestite da Catalina). Al momento di essere lanciato, Jasper cerca eventuali cambiamenti avvenuti ai file JSP e, se necessario, li ricompila.