Introduktion til Apache Tomcat
Apache Tomcat er en open-source software udviklet af Apache foundation. Det er skrevet i Java og blev første gang frigivet i 1999. James Duncan Davidson var dens oprindelige grundlægger, som tilfældigvis arbejdede som software-arkitekt på det tidspunkt. Han begyndte at udvikle apache tomcat-software med det formål at levere implementeringen af servlets. Hvad er en servlet? Med enkle ord er en servlet en serverside-teknologi, der hjælper med at håndtere en klients http-anmodning og svar (bemærk, at den dybdegående forklaring af servlets er uden for denne artikels rækkevidde). Den seneste stabile udgivelse af en tomcat version 9.0.21 blev frigivet den 7. juni, 2019.
Apache tomcat kan defineres som en webserver (der også kaldes en webcontainer / servletcontainer), der behandler servlets, JSP'er (ved internt at konvertere dine JSP'er til servlets internt) og også gengive JSP'er.
Bemærk, at en webserver er forskellig fra en applikationsserver. Lad os forstå, hvordan disse to adskiller sig fra hinanden.
Hvorfor siges Tomcat at være en webserver, men ikke en applikationsserver?
- Når du pakker en applikation, kan den enten pakkes som en .war eller .ear Tomcat er kategoriseret som en webserver, da den kun kan håndtere .war-filer.
- En webserver er ansvarlig for at behandle servlets og JSP'er, mens en applikationsserver skal være i stand til at behandle sturts, EJB's (Enterprise Java Beans), JSF (Java Server Faces) sammen med servlets og JSP'er. Tomcat kan kun behandle servlets og JSP'er, hvilket gør det til en webserver.
- En webserver siges ofte at være en del af en applikationsserver, da en applikationsserver udstiller alle de funktioner, som en webserver besidder, og udover den også indeholder attributter såsom belastningsbalancering, dataholdenhed, beskeder for at nævne nogle få. Omvendt gælder dog ikke.
- Webservere kan kun fungere via HTTP-protokol, mens applikationsservere kan fungere over forskellige CGI-protokoller og kan også omfatte HTTP-protokol. Applikationsservere bruges for det meste til at håndtere store Enterprise Edition-applikationer. Da tomcat kun fungerer på HTTP-protokollen, falder den under webserveren.
Hvorfor skal vi bruge Apache Tomcat?
Websider i sig selv er statiske HTML-filer. Derfor kan en klient ikke interagere med en statisk webside. For at lette vores websider med dynamiske funktioner kræves en webserver. For at kunne interface ens applikation med webserveren leveres foruddefinerede API'er (Application Programming Interfaces). Servlet er et sådant API leveret af Java Platform Enterprise Edition designet til at arbejde sammen med webservere. Overvågning af serveren for indgående klientanmodninger er ikke en servlets job, men en webserver.
Hvordan fungerer Apache Tomcat?
Tomcat bruges i vid udstrækning af webudviklere, når de arbejder med webapplikationsudvikling. Set fra et højt niveau er apache tomcat ansvarlig for at give et runtime-miljø for servlets. Det giver et miljø, hvor man kunne køre deres java-kode.
På et mere detaljeret aspekt er tomcat ansvarlig for:
- Lyt til alle indgående anmodninger fra klienter.
- Indlæs de respektive servletklasser vha. Servlet-kortlægningerne (fra fil fil.xml) for at håndtere indgående klientanmodninger.
- Udfør servletklassen og.
- Afslut endelig servletklassen.
Fra det punkt, hvor servletklassen indlæses til det punkt, den er aflæst, er servlet ansvarlig for at håndtere klientanmodningen ved at udføre sine forskellige livscyklusmetoder og give det nødvendige svar tilbage til tomcat som JSP-sider. Tomcat returnerer derefter svaret tilbage til klienten ved at gengive JSP.
Hvad sker der i en Servlets livscyklus?
En servlet-livscyklus består af tre hovedmetoder:
1) init () : Denne metode bruges til at initialisere servlet. En servlet initialiseres kun én gang, enten når serveren startes, eller når klienten aktiveres ved hjælp af den respektive URL.
2) service () : Når en forekomst af servlet er oprettet, kalder tomcat servlets metode for servlet. Servicemetoden er ansvarlig for at generere svaret for den indgående anmodning, der er videregivet til den af tomcat. Denne metode foretager opkald til andre ressourcer på serversiden, der kræves for at hente data fra databasen og give et svar tilbage til tomcat.
3) destruktion () : Destruktionsmetoden påberåbes af tomcat i slutningen for alle oprydning relaterede aktiviteter, såsom lukning af databaseforbindelser, frigørelse af ressourcer til indsamling af skrald osv.
Fordele ved Apache Tomcat
- Den største fordel ved apache tomcat er, at det er open source. Det er ikke nødvendigt at afskaffe penge for at bruge denne software. Man kunne nemt downloade det over internettet og konfigurere det og begynde at arbejde med det.
- Apache-softwaregrundlaget leverer regelmæssige opdateringer for at gøre det kompatibelt med andre softwareversioner og leverer fejlrettelser, hvilket gør det lettere for udviklere at bruge.
- Tomcat understøtter SSL (Secure Socket Layer) og kan derfor konfigureres ved hjælp af et SSL-certifikat til at sikre følsomme data ved at tilvejebringe en sikker forbindelse.
- Tomcat kan også konfigureres til at køre flere webapplikationer på forskellige porte. For eksempel kunne det køre tre applikationer på 8080, 8081, 9090 portnumre. Som standard bruger Apache tomcat portnummer 8080.
- Det er også kompatibel på tværs af platforme, det kan bruges på Windows, Mac OS, Linux-operativsystemer.
- Det siges at være let. Det betyder, at den bruger mindre med hensyn til hukommelse og ressourceudnyttelse, hvilket gør det muligt for applikationen at køre problemfrit på de fleste systemer uden specifikke systemkrav.
Konklusion -
Apache Tomcat er den mest udbredte og mest anvendte software blandt webapplikationsudviklere i dag. Undersøgelser har hævdet, at mere end 60% af java-applikationer bruger apache tomcat. Der er adskillige dokumentationer og tutorials om, hvordan man bruger og konfigurerer apache tomcat, hvilket gør det lettere og mere gennemførligt for nye webapplikationsudviklere at arbejde med apache tomcat.
Anbefalede artikler
Dette har været en guide til Hvad er Apache Tomcat. Her diskuterer vi Hvordan fungerer det, hvorfor skal vi bruge det, Servlets livscyklus og fordele. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Hvad er RDBMS?
- Apache HBase
- Big Data Analytics
- Hvad er ExpressJS?