Jetty je http server v Javě a Javový Servletový kontejner. Zatímco webové servery jsou často spojovány se zajišťováním zpřístupnění dokumentů, Jetty je často používán pro komunikaci mezi dvěma stroji, obvykle s větším softwarovým frameworkem. Jetty je open-sourcový projekt Eclipse Foundation.

Tento webový server se využívá v produktech, mezi které patří Apache ActiveMQ, Alfresco, Scalatra, Apache Geronimo, Apache Maven, Apache Spark, Google App Engine, Eclipse, FUSE, iDempiere, streamovací API Twitteru nebo Zimbra.

Jetty se také používá jako server u open-sourcových projektů jako je Lift, Eucalyptus, Red5, Hadoop nebo I2P. Podporuje nejnovější API pro Java Servlet (s podporou JSP), protokoly http/2 i WebSocket.

Výhody použití Jetty

  • Flexibilita Javy. Přestože Eclipse Jetty lze použít jako webová vrstva plného nebo částečného Java aplikačního server stacku jako je Geronimo, Jboss, Sybase EAServer, JonAS nebo Glassfish, tyto stacky nejsou jediným řešením. Jetty je možné použít také jako základ dalších aplikačních frameworků jako je SIP telephony, Ajax JMS, Asynchronnous SOA services. Vývojové nástroje a frameworky často využívají skutečnost, že jej lze vnořovat. Například Google Widget Toolkit, Grails nebo Eclipse defaultně Jetty používají, nebo na něj mají napojení. Když pak přijde na produkční prostředí, je ideální spouštět aplikaci na stejném serveru, na jakém byla vyvíjena.
  • Výkon. Pro webové servery je velký rozdíl v tom, jestli řeší 10 000 requestů za vteřinu přes jedno TCP/IP spojení nebo stejný počet requestů přes 10 000 spojení. Přestože mnoho testů je založeno na tom, jaký výkon plyne z několika spojení, výsledky takových testů příliš neodpovídají reálnému provozu. Jetty je uzpůsobeno pro připojení přes větší množství přístupových bodů.
  • Škálovatelnost. Jetty je navrženo tak, aby bylo škálovatelné při realistické zátěži za pomoci více simultánních spojení. Jetty dosahuje výborných výsledků s desítkami tisíc http spojení a stovkami tisíc simultánních websocket spojení.
  • Paměť. Jetty využívá jen málo paměti, což je klíčové pro optimální výkon a škálovatelnost. Čím méně paměti server využívá, tím více paměti je dostupné pro aplikaci nebo více instancí serveru, které mohou být spouštěny na virtuálním hardware.
  • Použití přes cloud. Jetty je uzpůsobené k využití cloudových služeb.
  • Spolupráce a komunita. Jetty vývojáři se rádi nechají inspirovat novými nápady. Zároveň má Jetty širokou komunitu uživatelů, která dokáže v případě potřeby poradit a pomoci.
  • Standardy. Jetty vývojáři si dali za cíl, že uživatelé mají Jetty využívat, protože si to sami zvolili. Proto se snaží o zavedení standardů a vyhýbají se proprietárním API a rozšířením. Jetty vývojáři jsou aktivní v JCP a IETF, kde se podílejí na vývoji internetových standardů. To umožňuje, aby tyto standardy byly do Jetty dříve implementovány.
  • Inovace. Web je velmi proměnlivé prostředí a uživatelé očekávají, že webové aplikace budou splňovat nejvyšší standardy ohledně uživatelského zážitku a interaktivnosti. Masivní podíl na trhu lze rychle získat i ztrácet. Nově zaváděné protokoly musí být podporovány serverem. Prostředí se neustále mění.
  • Bohatá historie. Jetty vzniklo již v roce 1994 jako první java http server, mnohem dříve nežli vznikla servletová specifikace.

Nevýhody použití Jetty

  • Méně známý a používaný nežli konkurenční Tomcat. Ten má tak více pozornosti, podpory i aktualizací.
  • Méně funkcionalit. Konkurenční Tomcat má více možností.
  • Tomcat je tradičně referenční implementací Servletové specifikace. Jetty neprofituje ze Servlet Test Compatibility Kit (TCK).