Serwlet - jest klasą napisaną w języku programowania Java, używaną do rozwijania możliwości serwera, do którego ma dostęp aplikacja po stronie klienta, za pomocą modelu typu żądanie - odpowiedź.(Serwlety, SUN Microsystems, servlets)
Serwlety powstały jako odpowiedź na programy CGI (common gateway interface). Są one zwykłymi programami napisanymi w języku programowania Java. Spełniają określone wymagania stawiane tej grupie programów. Muszą dziedziczyć po określonych klasach serwletów i przysłaniać odpowiednie metody. Jak każdy program napisany w Javie posiadają wszystkie zalety jak i wady tego języka programowania, moim zdaniem więcej zalet. Skompilowany kod serwletów wykonywany jest na serwerze. Już w tym miejscu ujawnia się pierwsza wielka zaleta tego typu zastosowań. Wszystko co stworzone po stronie serwera nie wymaga od użytkownika instalowania specjalnego oprogramowania, wtyczek w przeglądarkach, pobierania dodatkowego kodu, np. apletów. Każda przeglądarka jeśli zastosujemy się do standardu i nie wystąpią żadne wyjątki, będące następstwem błędów w kodzie, powinna obsłużyć zwróconą zawartość i wyświetlić wszystko prawidłowo. Serwlety potrafią współdziałać z wieloma typami serwerów tj. HTTP, SMTP, FTP, ale w praktyce ich zastosowania najczęściej ograniczają się do serwerów działających w oparciu o protokół HTTP. Serwlety są produktem firmy Sun i oparte są o darmową licencje, a aktualna wersja to 2.5.
Cykl życia serwletu zaczyna się od momentu gdy programista skompiluje program i umieści go w odpowiednim katalogu serwera. Gdy serwer jest uruchamiany jeszcze nie tworzy obiektu serwletu. Ładowany jest on do pamięci dopiero w momencie pierwszego żądania od użytkownika. Każde następne żądanie będzie powodowało działanie serwera polegające na tym że, tworzona jest tylko jedna kopia serwletu, a podczas obsługi każdego żądania tworzony jest nowy wątek[5]. Wynika z tego iż może istnieć na serwerze kilka wątków utworzonych z tego samego serwletu( liczba tworzonych wątków jest wartością do skonfigurowania). Programista ma również możliwość zastrzeżenia sobie z pomocą interfejsu SingleThreadModel, możliwości tworzenia w danej chwili tylko jednego wątku z każdego serwletu. Pewnym problemem przy pisaniu serwletów jest to iż zrzekamy się przysłaniania konstruktora. Częściowo jest to niwelowane przez zastosowanie przesłonięcia metody init() klasy Servlet, która wywoływana jest zawsze w konstruktorze. Można w niej umieszczać stałe części programu, inicjalizowanie zmiennych. Skoro jestem już przy zmiennych pamiętać trzeba, że wszystko co jest zadeklarowane w ciele klasy, poza metodami jest wspólnym zasobem dla wszystkich wątków utworzonych z tej samej klasy. Jeśli korzysta się z współdzielenia zasobów między wątkami, należy stosować mechanizmy ochrony sekcji krytycznej. Java zapewnia blokowanie wątków na zasobie współdzielonym poprzez zastosowanie instrukcji synchronized zarówno w stosunku do metod jak i całych obiektów. Każdy nowo stworzony serwlet wywołuje metodę service() interfejsu Servlet, która rozpoznaje jakiego typu są żądania nadchodzące od użytkownika i wywołuje odpowiednią funkcje do ich obsługi. Nastawiając się na obsługę tylko jednego typu żądań przez serwlet można bezpośrednio przesłonić metodę service, a nie konkretną odpowiadającą danemu typowi żądania. Klasa HttpServlet implementuje następujące metody do obsługi niektórych żądań.
Żeby zamówić tego typu usługi skontaktuj się z: Sibelius Aplikacje internetowe.