Servlet to niezależne sprzętowo programy, które umożliwiają rozszerzenie możliwości serwera. Mogą być wykorzystywane jako pliki CGI , przy czym od zwykłych skryptów CGI odróżnia je wykonywanie się w JVM co sprawia, iż są one przenośne oraz bezpieczniejsze niż zwykłe CGI. Servlet wykonywany jest całkowicie po stronie serwera, dzięki czemu przeglądarka klienta nie musi posiadać modułu JAVY. W odróżnieniu od CGI servlet nie wykonuje się w osobnych procesach przy każdym żądaniu; działanie servletu kończy się po wyłączeniu serwera, co sprawia, iż są one efektywniejsze. Przenośność servletów dotyczy zarówno platform, jak i systemów serwerowych, co sprawia, iż są one bardzo popularne. Ich stabilność oraz szybkość sprawiły, że są szeroko wykorzystywane do budowania systemów, które poddawane są silnemu obciążeniu. Servlety pozwalają na to, by strona WWW stała się dynamiczna i uzyskała funkcje, takie jak: walidacja formularzy, możliwość współdzielenia danych wśród wszystkich przeglądających witrynę, mapy, gry, dynamicznie tworzone obrazki, grupy dyskusyjne. O potędze serwletów świadczą:
Elegancja
Kod servletów jest przejrzysty, obiektowy i nieskomplikowany. Nawet zaawansowane operacje, takie jak obsługa cookies i śledzenie sesji, dzięki podzieleniu na odpowiednie klasy, stały się bardzo proste.
Rozszerzalność i elastyczność
Technologia servletów cechuje się elastycznością - dzięki jej użyciu możemy tworzyć proste strony używając tylko polecenia out.println() lub generować strony dynamiczne, w pełni interaktywne z użytkownikiem. Możemy tworzyć strony traktując każdą jej część jako osobną klasę, co pozwala nam zmniejszyć rozmiary całego projektu. Serwlety pozwalają nam na zamieszczenie na stronie różnych technologii umożliwiających nam zwiększenie ich funkcjonalności. Servlety oferują również możliwość przetwarzania XML, zagnieżdżenia Ajaxa, możliwość serwowania różnych treści dla każdej przeglądarki.
Bezpieczeństwo
Servlety interpretowane są przez VMJ, dzięki czemu zapewniają nam pełne bezpieczeństwo oferowane przez maszynę wirtualną. Systemy zarządzania pamięcią gwarantują nam pewność stabilnej oraz szybkiej pracy. Zaimplementowany został system obsługi błędów, co nawet w przypadku niewłaściwego użytkowania servletu zmniejsza szanse na poważne szkody w systemie.
Wydajność i wytrzymałość
Działanie servletów jest nad podziw wydajne. Servlet po wywołaniu pozostaje w pamięci servera, aż do restartu lub usunięcia przez VMJ. Gdy zachodzi konieczność ponownego odwołania się do servletu, serwer uruchamia go z pamięci, a nie jak wcześniej z dysku, co było wiele wolniejsze. Mechanizm wielowątkowy odziedziczony z JAVY umożliwia obsługę wielu żądań w jednym procesie, co znacznie odciąża serwer.
Przenośność
Dzięki cechom odziedziczonym z Javy servlety są niezależne od platformy sprzętowej systemu operacyjnego oraz implementacji serwera. Przenośność servletów daje im sporą przewagę nad Apletami Javy i servlet, jako skrypt wykonywany po stronie serwera, w przeciwieństwie do Apletu wykonywanego po stronie klienckiej, nie musi być testowany na wszystkich platformach sprzętowych. Jeżeli nie sprzedajemy swoich servletów nie musimy się martwić o kompletną przenośność.