Introduktion till Apache Tomcat
Apache Tomcat är en öppen källkodsprogram utvecklad av Apache-stiftelsen. Den är skriven i Java och släpptes först 1999 1999. James Duncan Davidson var dess ursprungliga grundare, som råkade arbeta som programvaruarkitekt vid den tiden. Han började utveckla apache tomcat-programvara med syftet att tillhandahålla implementeringen för servlets. Vad är en servlet? Med enkla ord är en servlet en serversides teknik som hjälper till att hantera en klients http-begäran och svar (observera att den djupgående förklaringen av servlets ligger utanför denna artikel). Den senaste stabila versionen av en tomcat-version 9.0.21 släpptes den 7 juni 2019.
Apache tomcat kan definieras som en webbserver (som även kallas en webbcontainer / servletcontainer), som bearbetar servlets, JSP: er (genom att internt konvertera dina JSP: er till servlets internt) och också göra JSP: er.
Observera att en webbserver skiljer sig från den för en applikationsserver. Låt oss förstå hur dessa två skiljer sig från varandra.
Varför sägs Tomcat vara en webbserver men inte en applikationsserver?
- När du paketerar en applikation kan den antingen paketeras som en .war eller .ear Tomcat kategoriseras som en webbserver eftersom den bara kan hantera .war-filer.
- En webbserver ansvarar för att bearbeta servlets och JSP: er, medan en applikationsserver ska kunna bearbeta sturts, EJB: er (Enterprise Java Beans), JSF (Java Server Faces) tillsammans med servlets och JSP: er. Tomcat kan bara behandla servlets och JSP: er och därmed göra det till en webbserver.
- En webbserver sägs ofta vara en del av en applikationsserver eftersom en applikationsserver uppvisar alla funktioner som en webbserver har och förutom den innehåller också attribut som lastbalansering, persistens, meddelanden för att nämna några. Omvänt gäller dock inte.
- Webbservrar kan endast fungera via HTTP-protokoll, medan applikationsserver kan fungera över olika CGI-protokoll och kan också innehålla HTTP-protokoll. Applikationsservrar används oftast för att hantera stora företagsutgåva-applikationer. Eftersom tomcat endast fungerar på HTTP-protokollet faller det under webbservern.
Varför måste vi använda Apache Tomcat?
Webbsidor i sig är statiska HTML-filer. Därför kan en klient inte interagera med en statisk webbsida. För att underlätta våra webbsidor med dynamiska funktioner krävs en webbserver. För att kunna gränssnitta sin applikation med webbservern tillhandahålls fördefinierade API: er (applikationsprogrammeringsgränssnitt). Servlet är ett sådant API som tillhandahålls av Java Platform Enterprise Edition som är utformat för att fungera tillsammans med webbservrar. Att övervaka servern för inkommande klientförfrågningar är inte en servlet utan en webbserver.
Hur fungerar Apache Tomcat?
Tomcat används ofta av webbutvecklare när de arbetar med webbapplikationsutveckling. Ur ett högt perspektiv är apache tomcat ansvarig för att tillhandahålla en driftmiljö för servlets. Det ger en miljö där man kan köra sin java-kod.
På en mer detaljerad aspekt är tomcat ansvarig för:
- Lyssna på alla inkommande förfrågningar från klienter.
- Ladda respektive servletklasser med hjälp av servletmappningar (från web.xml-fil) för att hantera inkommande klientförfrågningar.
- Kör servletklassen och.
- Slutligen lossar du servletklassen.
Från den punkt som servletklassen laddas till den punkt den är lossad, servlet ansvarar för att hantera klientbegäran genom att utföra sina olika livscykelmetoder och ge det nödvändiga svaret tillbaka till tomcat som JSP-sidor. Tomcat returnerar sedan svaret tillbaka till klienten genom att återge JSP.
Vad händer i en Servlets livscykel?
En servettlivscykel består av tre huvudmetoder:
1) init () : Den här metoden används för att initiera servlet. En servlet initieras endast en gång antingen när servern startas eller när klienten åberopas med respektive URL.
2) service () : När en instans av servlet har skapats, anropar tomcat servlets metod för servlet. Servicemetoden är ansvarig för att generera svaret för den inkommande begäran som skickas till den av tomcat. Den här metoden ringer till andra resurser på serversidan som krävs för att hämta data från databasen och ge ett svar tillbaka till tomcat.
3) förstöra () : Destruktionsmetoden åberopas av tomcat i slutet för alla saneringsrelaterade aktiviteter, till exempel stängning av databasanslutningar, frigöring av resurser för skräpuppsamling etc.
Fördelar med Apache Tomcat
- Den största fördelen med apache tomcat är att den är öppen källkod. Det finns inget behov av att betala ut pengar för att använda den här programvaran. Man kan enkelt ladda ner det via internet och konfigurera det och börja arbeta med det.
- Apache-programvarustiftet tillhandahåller regelbundna uppdateringar för att göra den kompatibel med andra programvaruversioner och tillhandahåller bugfixar vilket gör det enklare för utvecklare att använda.
- Tomcat stöder SSL (Secure Socket Layer) och kan därför konfigureras med ett SSL-certifikat för att säkra känslig data genom att tillhandahålla en säker anslutning.
- Tomcat kan också konfigureras för att köra flera webbapplikationer på olika portar. Det kan till exempel köra tre applikationer på portnummer 8080, 8081, 9090. Som standard använder Apache tomcat portnummer 8080.
- Den är också kompatibel med flera plattformar, som kan användas på operativsystem Windows, Mac OS, Linux.
- Det sägs vara lätt. Det betyder att det förbrukar mindre vad gäller minne och resursanvändning, vilket gör att applikationen kan fungera smidigt på de flesta system utan specifika systemkrav.
Slutsats -
Apache Tomcat är den mest använda och mest använda programvaran bland webbapplikationsutvecklare idag. Studier har hävdat att mer än 60% av java-applikationerna använder apache tomcat. Det finns många dokumentation och handledning om hur man använder och konfigurerar apache tomcat, vilket gör det enklare och mer genomförbart för nya webbapplikationsutvecklare att arbeta med apache tomcat.
Rekommenderade artiklar
Detta har varit en guide till Vad är Apache Tomcat. Här diskuterar vi Hur fungerar det, varför behöver vi använda det, Servlets livscykel och fördelar. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Vad är RDBMS?
- Apache HBase
- Big Data Analytics
- Vad är ExpressJS?