Въведение в Apache Tomcat
Apache Tomcat е софтуер с отворен код, разработен от фондация Apache. Той е написан на Java и за първи път е пуснат през 1999 г. Джеймс Дънкан Дейвидсън е неговият първоначален основател, който по това време работи като софтуерен архитект. Той започва да разработва софтуер за апачи tomcat с цел да осигури реализацията на сервлетите. Какво е сервлет? С прости думи, сервлет е технология от страна на сървъра, която помага да се справи с http заявка и отговор на клиента (моля, имайте предвид, че задълбоченото обяснение на сървлетите е извън обхвата на тази статия). Последната стабилна версия на версия на tomcat 9.0.21 бе публикувана на 7 юни 2019 г.
Apache tomcat може да бъде дефиниран като уеб сървър (който също се нарича уеб контейнер / контейнер сървлет), който обработва сървлетите, JSP (чрез вътрешно преобразуване на вашите JSP в сървъли вътре) и също така прави JSP.
Обърнете внимание, че уеб сървърът е различен от този на сървър на приложения. Нека разберем как тези две се разграничават една от друга.
Защо се казва, че Tomcat е уеб сървър, но не и сървър на приложения?
- Когато пакетирате приложение, то може да бъде опаковано като .war или .ear Tomcat е категоризиран като уеб сървър, тъй като може да обработва само .war файлове.
- Уеб сървърът е отговорен за обработването на сървлети и JSP, докато сървърът за приложения трябва да може да обработва штритове, EJB (Enterprise Java Beans), JSF (Java Server Faces), заедно със сървъли и JSP. Tomcat може да обработва само сървъли и JSP, като по този начин го прави уеб сървър.
- За уеб сървър често се казва, че е част от сървър на приложения, тъй като сървър на приложения показва всички функции, които уеб сървърът притежава и в допълнение към него съдържа и атрибути като балансиране на натоварването, постоянство на данните, съобщения, за да назовем няколко. Обратното обаче не се прилага.
- Уеб сървърите могат да работят само над HTTP протокол, докато сървърите за приложения могат да работят над различни CGI протоколи и могат също да включват HTTP протокол. Приложните сървъри се използват предимно за работа с големи приложения за корпоративно издание. Тъй като tomcat работи само на HTTP протокола, той попада под уеб сървъра.
Защо трябва да използваме Apache Tomcat?
Самите уеб страници са статични HTML файлове. Следователно клиентът не може да взаимодейства със статична уеб страница. За да улесним нашите уеб страници с динамични възможности, е необходим уеб сървър. За да можете да свържете приложението си с уеб сървъра, са предоставени предварително зададени API (интерфейси за програмиране на приложения). Servlet е един такъв API, предоставен от Java Platform Enterprise Edition, предназначен да работи заедно с уеб сървъри. Наблюдението на сървъра за входящи клиентски заявки не е работа на сървлет, а на уеб сървър.
Как работи Apache Tomcat?
Tomcat се използва широко от уеб разработчиците, когато работят върху разработването на уеб приложения. От гледна точка на високо ниво, apache tomcat е отговорен за осигуряването на среда за изпълнение на сервлетите. Той осигурява среда, в която човек може да изпълнява своя Java код.
В по-подробен аспект, tomcat е отговорен за:
- Слушайте всички входящи заявки от клиенти.
- Заредете съответните класове сервлети, като използвате сърплет картите (от файла web.xml), за да обработите входящите клиентски заявки.
- Изпълнете класа servlet и.
- Накрая, разтоварете класа на сервлет.
От момента, в който клас сервлет е зареден до точката, в която е разтоварен, сервлетът е отговорен за обработката на клиентската заявка, като прилага различните си методи на жизнения цикъл и предоставя необходимия отговор обратно в tomcat като JSP страници. След това Tomcat връща отговора обратно на клиента, като предоставя JSP.
Какво се случва в жизнения цикъл на Сервлет?
Жизненият цикъл на сървлета се състои от три основни метода:
1) init () : Този метод се използва за инициализиране на сервлета. Сервлет се инициализира само веднъж при стартиране на сървъра или при извикване от клиента, използвайки съответния URL адрес.
2) service () : След като се създаде инстанция на сървъла, то tomcat извиква метода на обслужване на сървлета. Методът на обслужване е отговорен за генериране на отговор за входящата заявка, предавана му от tomcat. Този метод прави обаждания към други ресурси от страна на сървъра, необходими за извличане на данни от базата данни и предоставяне на отговор обратно в tomcat.
3) унищожи () : методът на унищожаване се извиква от tomcat в края на всички дейности, свързани с почистване, като например затваряне на връзки към базата данни, освобождаване на ресурси за събиране на боклука и т.н.
Предимства на Apache Tomcat
- Най-голямото предимство на apache tomcat е, че е с отворен код. За да използвате този софтуер, не е необходимо да обхващате пари. Човек би могъл лесно да го изтегли през интернет и да го конфигурира и да започне да работи с него.
- Софтуерната фондация Apache осигурява редовни актуализации, за да е съвместима с други версии на софтуера и предоставя корекции на грешки, като по този начин улеснява използването на разработчиците.
- Tomcat поддържа SSL (Secure Socket Layer) и затова може да бъде конфигуриран с помощта на SSL сертификат за защита на чувствителни данни чрез осигуряване на защитена връзка.
- Tomcat може също да бъде конфигуриран да стартира множество уеб приложения на различни портове. Например, може да работи с три приложения на 8080, 8081, 9090 номера на портове. По подразбиране, Apache tomcat използва порт 8080.
- Освен това е съвместима между платформата, която може да се използва в Windows, Mac OS, Linux операционни системи.
- Казват, че е леко. Тоест консумира по-малко по отношение на използването на паметта и ресурсите, като по този начин позволява на приложението да работи безпроблемно в повечето системи без конкретни системни изисквания.
Заключение -
Apache Tomcat е най-широко използваният софтуер сред разработчиците на уеб приложения днес. Проучванията твърдят, че повече от 60% от приложенията на Java използват апашем tomcat. Има много документация и ръководства за това как да използват и конфигурират apache tomcat, което прави по-лесно и по-възможно работата на новите разработчици на уеб приложения да работят с apache tomcat.
Препоръчителни статии
Това е ръководство за Какво е Apache Tomcat. Тук обсъждаме как работи, защо трябва да го използваме, жизнения цикъл на Сервлет и предимствата. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Какво е RDBMS?
- Apache HBase
- Анализ на големи данни
- Какво е ExpressJS?