Az Apache Tomcat egy tisztán Java nyelven készült webszerver, amely implementálja a Sun-féle Java Servlet és a JavaServer Pages specifikációkat. E specifikációkat támogató webszervereket szokás a servlet container, a servlet engine illetve a web engine összetételekkel is illetni.
A Tomcat nem keverendő az Apache HTTP Serverrel, ami egy C nyelven írt webszerver implementáció. Bár mindkét szoftver webszerver, de külön csomagolják és terjesztik őket.
A Tomcat tartalmaz menedzselő eszközöket is, de a testreszabás (jellemzően XML-formátumú) konfigurációs fájlok szerkesztésével is megtehető.
Történet
A Sun Microsystems-nél dolgozó James Duncan Davidson készítette az első verziót, a Java Servlet specifikáció referenciaimplementációjaként. Davidson később segített nyílt forráskódúvá tenni a projektet és kulcsszerepet játszott abban a döntésben is, hogy a Sun az Apache Software Foundation-nek adományozta a Tomcat-et további fejlesztésre. Az Apache Ant buildelő eszköz is a Tomcat projekt nyílt forráskódúvá válásának egy mellékhatása.[2]
Davidson már a kezdetekkor remélte, hogy a projektje egy napon nyílt forráskódú lesz, és mint a legtöbb nyílt forráskódú projektről, a Tomcat-ről is lesz majd O'Reilly-féle állatos címlapú könyv. Ezért nevezte el állatról.[2] Olyan állatot akart, ami tud gondoskodni magáról. Sajnos a kandúr már foglalt volt egy másik O'Reilly könyv címlapja miatt, de megvalósult a Tomcat atyjának vágya, lett állatos könyv, csak kandúr helyett hópárduc került a címlapra.[3]
Verziók és feature-k
A különböző verziók részletes leírása megtalálható az Apache weboldalán,[4] itt egy tömör összefoglaló következik:
Tomcat 1.x és 2.x
Ezeket a kezdeti verziókat nem hozta nyilvánosságra a Sun, csak belső körökben használták.
Tomcat 3.x (az első nyilvános kiadás)
1999-ben látott napvilágot a Sun Java Web Server és az Apache-féle JServ összefésülésének eredményeként. Implementálja a Servlet 2.2 és a JSP 1.1 specifikációkat.
Tomcat 4.x
2001-ben adták ki és egészen 2009-ig tartották karban. A Servlet 2.3 és a JSP 1.2 specifikációkat támogatja. A servlet container részt Catalina néven, a JSP motort Jasper néven fejlesztették újra. Itt jelent meg a Coyote valamint a JSP- és Struts-alapú adminisztrációs felület Java Management Extensions (JMX) néven.
4.0 - 2001. szeptember
4.1.31 - 2004. október 11.
4.1.36 - 2007. március 24.
4.1.39 - 2008. december 3.
4.1.40 - 2009. június 25.
Tomcat 5.x
A Servlet 2.4 és a JSP 2.0 specifikációkat implementálja. Redukálták a szemétgyűjtést, javítottak a teljesítményen és a skálázhatóságon. Gyorsult a JSP fájlok feldolgozása is. Natív Windows és Unix wrappereket írtak, hogy segítsék a platformintegrációt.
Tomcat 5.0.x
5.0.0 - 2002. október 9.
5.0.24 - 2004. május 9.
5.0.28 - 2004. augusztus 28.
5.0.30 - 2004. augusztus 30.
Tomcat 5.5.x
5.5.0 - 2004. augusztus 31.
5.5.1 - 2004. szeptember 7.
5.5.4 - 2004. november 10.
5.5.7 - 2005. január 30.
5.5.9 - 2005. április 11.
5.5.12 - 2005. október 9.
5.5.15 - 2006. január 21.
5.5.16 - 2006. március 16.
5.5.17 - 2006. április 28
5.5.20 - 2006. szeptember 1.
5.5.23 - 2007. március
5.5.25 - 2007. szeptember
5.5.26 - 2008. február
5.5.28 - 2009. szeptember 4.
5.5.30 - 2010. július 4.
5.5.31 - 2010. szeptember 16.
5.5.32 - 2011. február 1.
5.5.33 - 2011. február 10.
Tomcat 6.x
A Servlet 2.5 és a JSP 2.1 specifikációkat implementálja. Támogatja a Unified Expression Language 2.1 verzióját. Java SE 5.0 vagy annál későbbi verzióval működik. Támogatja a Comet-et a CometProcessor interface segítségével. A korábbiaktól eltérően, külön csomagba került az adminkonzol.
6.0.0 - 2006. december 1.
6.0.10 - 2007. március 1.
6.0.13 - 2007. május 15.
6.0.14 - 2007. augusztus 13.
6.0.16 - 2008. február 7.
6.0.18 - 2008. július 30.
6.0.20 - 2009. június 3.
6.0.24 - 2010. január 21.
6.0.26 - 2010. március 11.
6.0.28 - 2010. július 9.
6.0.29 - 2010. július 22.
6.0.30 - 2011. január 13.
6.0.32 - 2011. február 3.
6.0.33 - 2011. augusztus 18.
6.0.43 - 2014. november 22.
A Tomcat 6.0.x sorozat,[5] a Servlet API 2.5 verzióját valósítja meg.[6] Az Apache Software Foundation (röviden ASF) emberei és független önkéntesek fejlesztik és tartják karban a Tomcat kódot. Bárki szabadon hozzáférhet a forráskódhoz és a bináris disztribúcióhoz egyaránt Apache Licenc 2.0 alatt.
Tomcat 7.x
A Servlet 3.0 és a JSP 2.2 valamint az EL 2.2 specifikációkat implementálja. Java SE 6.0 szükséges a működéséhez. Amennyiben service-ként szeretnénk futtatni támogatja a 64 bites platformokat (Windows esetén is). Eddig megjelent verziói:
7.0.0 beta - 2010. június 29.
7.0.4 beta - 2010. október 21.
7.0.6 - 2011. január 14.
7.0.8 - 2011. február 5.
7.0.10 - 2011. március 7.
7.0.11 - 2011. március 11.
7.0.12 - 2011. április 6.
7.0.14 - 2011. május 12.
7.0.16 - 2011. június 17.
7.0.19 - 2011. július 19. (4. stabil verzió)
7.0.21 - 2011. augusztus 11.
7.0.26 - 2012. február 21.
7.0.30 - 2012. szeptember 6.
7.0.34 - 2012. december 12.
7.0.47 - 2013. október 24.
7.0.59 - 2015. február 4.
7.0.63 - 2015. július 6.
Tomcat 8.x
Támogatja a Servlet 3.1, JSP 2.3, EL 2.3 és WebSocket specifikációkat.
8.0.5 - 2014. március 27.
8.0.18 - 2015. január 26.
8.0.22 - 2015. május 5.
8.0.24 - 2015. július 8.
8.0.26 - 2015. augusztus 18.
Tomcat 8.5
Támogatás a következőkhöz: HTTP/2, OpenSSL for JSSE, TLS virtual hosting és JASPIC 1.1. A Tomcat 9-ből készült, Java EE 8 támogatás elhalasztása.
8.5.01 - 2016. június 13.
8.5.31 - 2018. május 3.
Tomcat 9
Az első Apache Tomcat kiadás, amely támogatja a következő specifikációkat: Servlet 4.0, JSP 2.4, and EL 3.1.