# Apache Tomcat

Apache Tomcat (abans sota el projecte Apache Jakarta) és un contenidor de servlets desenvolupat a l'Apache Software Foundation. Tomcat implementa les especificacions de servlet i de JavaServer Pages (JSP) de Sun Microsystems, proporcionant un entorn per al codi Java a executar en cooperació amb un servidor web. Aquest afegeix eines per a la configuració i el manteniment, però també pot ser configurat editant els fitxers de configuració que normalment són en format XML. Tomcat inclou el seu propi servidor HTTP, per això també se'l considera un servidor web independent.

## Entorn

Tomcat és un servidor web amb suport de servlets i JSPs. Inclou el compilador Jasper, que compila JSPs convertint-los en servlets.
El motor de servlets de Tomcat sovint es presenta en combinació amb el Servidor HTTP Apache o altres servidors web. Tomcat pot funcionar com servidor web per si mateix. En els seus inicis, va existir la percepció que l'ús de Tomcat de forma autònoma era només recomanable per a entorns de desenvolupament i entorns amb requisits mínims de velocitat i gestió de transaccions. Avui dia ja no existeix aquesta percepció, i Tomcat és usat com servidor web autònom en entorns amb alt nivell de tràfic i alta disponibilitat.
Ja que Tomcat va ser escrit en Java, això fa que funcioni en qualsevol sistema operatiu que disposi de la JVM.

## Estat del seu desenvolupament

Tomcat és desenvolupat i mantingut per membres de l'Apache Software Foundation i voluntaris independents. Els usuaris disposen de lliure accés al seu codi font i a la seva forma binària en els termes establerts en l'Apache License. Les primeres distribucions de Tomcat van ser les versions 3.0.x. Les versions més recents són les 5.x, que implementen les especificacions de Servlet 2.4 i de JSP 2.0. Les versions 4.0 i posteriors, utilitzen el contenidor de servlets Catalina internament.

## Estructura de directoris

La jerarquia de directoris per defecte d'instal·lació de Tomcat inclou:
* /bin - arrencada, aturada, i altres scripts i executables
* /common - classes comunes que poden utilitzar Catalina i les aplicacions web
* /conf - fitxers XML i els corresponents DTDs per a la configuració de Tomcat
* /logs - logs de Catalina i de les aplicacions
* /server - classes utilitzades solament per Catalina
* /shared - classes compartides per totes les aplicacions web
* /webapps - directori que conté les aplicacions web
* /work - fitxers temporals, pàgines JSP precompilades, i altres fitxers intermedis
No obstant això, les configuracions alternatives són possibles. La documentació que s'inclou amb el Tomcat conté més detalls.

## Història

Tomcat va començar sent una implementació de l'especificació dels servlets començada per James Duncan Davidson, que treballava com arquitecte de programari a Sun. Posteriorment va ajudar a fer el projecte open source i en la seva donació a l'Apache Software Foundation.
Duncan Davidson inicialment esperava que el projecte es convertís en open source i atès que la majoria dels projectes open source tenen llibres d'O'Reilly associats amb un animal en la portada, va voler posar-li al projecte nom d'animal. Va triar Tomcat (Gat Fer), pretenent representar la capacitat de cuidar-se per si mateix, de ser independent.

### Versions

Versions de l'Apache Tomcat :
| Series | Declarat estable | Descripció | Última versió | Data última versió |
| Una versió antiga, sense suport: 3.0 | 1999 | Versió inicial. Fusió de codi del Java Web Server de Sun i de l'ASF. Implementa les especificacions de Servlet 2.2 i JSP 1.1. | 3.3.2 | 9 març 2004 |
| Una versió antiga, sense suport: 4.1 | 6 maig 2002 | Primera versió amb suport per les especificacions Servlet 2.3 i JSP 1.2. | 4.1.40 | 25 juny 2009 |
| Una versió antiga, sense suport: 5.0 | 9 octubre 2002 | Primera versió amb suport per les especificacions Servlet 2.4, JSP 2.0 i EL(Unified Expression Language) 1.1. | 5.0.30 | 9 desembre 2004 |
| Una versió antiga, sense suport: 5.5 | 10 novembre 2004 | Dissenyat per a J2SE 5.0. La inclusió d'Eclipse JDT permet que Tomcat s'executi sense una instal·lació completa del Java Development Kit (JDK). | 5.5.36 | 9 octubre 2012 |
| Una versió antiga, sense suport: 6.0 | 28 febrer 2007 | Primera versió amb suport per les especificacions Servlet 2.5, JSP 2.1, i EL 2.1. | 6.0.45 | 11 febrer 2016 |
| Una versió antiga, encara amb suport: 7.0 | 14 gener 2011 | Primera versió amb suport per les especificacions Servlet 3.0, JSP 2.2, i EL 2.2 | 7.0.90 | 6 juliol 2018 |
| Una versió antiga, sense suport: 8.0 | 25 juny 2014 | Primera versió amb suport per les especificacions Servlet 3.1, JSP 2.3, EL 3.0, i WebSocket. | 8.0.53 | 5 juliol 2018 |
| Una versió antiga, encara amb suport: 8.5 | 24 març 2016 | Amb suport per a HTTP/2, OpenSSL per a JSSE(Java Secure Socket Extension), TLS i JASPIC 1.1. | 8.5.34 | 10 setembre 2018 |
| La darrera versió estable: 9.0 | 18 gener 2018 | Primera versió amb suport per les especificacions Servlet 4.0, JSP 2.4 (TBD) i EL 3.1 (TBD). | 9.0.12 | 10 setembre 2018 |
| Llegenda:Versió antigaVersió antiga, amb suportDarrera versióDarrera versió preliminarProper llançament |

## Referències

* ↑ «[ANNOUNCEMENT Tomcat 4.1.10 Stable]» (en anglès). [Consulta: 9 juliol 2016].
* ↑ «Apache Tomcat Version 5.0.0 Release Notes» (en anglès). Apache.org, 09-10-2002. [Consulta: 9 juliol 2016].
* ↑ «Index of /dist/tomcat/tomcat-5/v5.0.30» (en anglès). Apache.org. [Consulta: 9 juliol 2016].
* ↑ «Apache Tomcat» (en anglès). Apache Tomcat Project. [Consulta: 9 juliol 2016].
* ↑ «The Jakarta Site - News and Status» (en anglès). [Consulta: 9 juliol 2016].
* ↑ «Index of /dist/tomcat/tomcat-5/v5.5.36» (en anglès). Apache.org. [Consulta: 9 juliol 2016].
* ↑ «[ANN Apache Tomcat 6.0.10 released]» (en anglès). [Consulta: 9 juliol 2016].
* ↑ «Apache Tomcat» (en anglès). Apache Tomcat Project. [Consulta: 9 juliol 2016].
* ↑ «Apache Tomcat» (en anglès). Apache Tomcat Project. [Consulta: 9 juliol 2016].
* 1 2 «Apache Tomcat® - Which Version Do I Want?». [Consulta: 31 desembre 2021].
* ↑ «Index of /dist/tomcat/tomcat-8/v8.5.0» (en anglès). Apache.org. [Consulta: 9 juliol 2016].
* ↑ «Index of /dist/tomcat/tomcat-8» (en anglès). Apache.org. [Consulta: 9 juliol 2016].

## Enllaços externs

* Apache Tomcat - Lloc web oficial