Cykl życia serwletu w Javie: metody, architektura, porównanie i konfiguracja
Opublikowany: 2021-03-03Spis treści
Wstęp
Serwlety zapewniają metodę, która jest nie tylko oparta na komponentach i niezależna od platformy, ale jest również bardzo pomocna przy tworzeniu aplikacji internetowych. Serwlety mają dostęp do Java API i JDBC API w celu uzyskania dostępu do baz danych. W przypadku Java Servlet, choć nie ma ograniczeń w zakresie wydajności programu CGI (Common Gateway Interface), wciąż istnieją pewne wady.
Co to jest serwlet?
Servlet to technologia, która jest bardzo korzystna przy tworzeniu dynamicznych stron internetowych. Działa jako warstwa pośrednia między przeglądarką internetową a klientami lub serwerami HTTP. Za pomocą serwletów najpierw zbieramy dane wejściowe od użytkowników, a następnie dynamicznie tworzymy strony internetowe. Servlet rozszerza możliwości serwerów i aplikacji hosta. Serwlety rozszerzają możliwości serwerów, a także odpowiadają na wszelkiego rodzaju żądania użytkowników.
Źródło
CGI a serwlety
Przed serwletami CGI było szeroko stosowane. CGI to sposób na przekazanie żądania otrzymanego od użytkownika do programu użytkowego. Chociaż CGI jest sposobem na serwer WWW, otrzymuje również odpowiedź od przeglądarki (klienta). Gdy użytkownik żąda strony internetowej do przeglądarki, serwer odsyła ją do niego.
Gdy klient chce wypełnić formularz na stronie internetowej i spróbować wysłać go ponownie, jest on przetwarzany przez program aplikacyjny. Serwer przekazuje informacje do małego programu aplikacji internetowej. Ten program najpierw przetwarza dane, a następnie odsyła je z powrotem za pomocą wiadomości potwierdzającej.
Metody cyklu życia serwletów w skrócie
Istnieją głównie trzy metody cyklu życia serwletu, które możemy opisać jako:
- w tym()
- usługa()
- zniszczyć()
Źródło
Architektura serwletów
- W pierwszej kolejności odczytuje dane przesyłane przez klientów. Następnie wstawia formularz HTML na stronę internetową, a następnie wysyła żądania wysłane przez klientów.
- Następnie serwlet przetwarza dane i łączy się z systemem zarządzania bazą danych, wykonując RMI poprzez wywołanie usług sieciowych.
- Po przetworzeniu dokumenty można przesłać w formatach tekstowych i gif.
- Na koniec wysyła HTTP do klienta.
Źródło
Teraz omówimy szczegółowo te metody
1. inicjalizacja()
Metoda init() jest wywoływana tylko raz po utworzeniu instancji serwletu. Najpierw inicjuje serwlet. Servlet.init() wskazuje, że instancja serwletu została pomyślnie utworzona.
Składnia metody init() jest podana jako :
public void init (konfiguracja ServletConfig) wyrzuca ServletException {
//kod inicjujący
}
2. usługa ()
Za każdym razem, gdy aplet odbiera żądanie, kontener WWW wywołuje metodę service().
- Aby zebrać żądane dane b
- y klienta, używany jest obiekt zgłoszenia serwisowego.
- Do wygenerowania treści wyjściowej używany jest obiekt ServletResponse.
Sygnatura metody service() jest podana jako:
public void service (żądanie ServletRequest , odpowiedź ServletREsponse)
wyrzuca ServletEXception , IOException {
//żądanie kodu obsługi
}
Metoda service() wykorzystuje metody doGet, doPost, doPut, doDelete i wiele innych.
3. zniszcz ()
Użytkownik wywołuje metodę destroy() przynajmniej raz w cyklu życia serwletu . Służy do zerwania połączenia z bazą danych, zwolnienia przydzielonej pamięci i zasobów. Pomaga również w celach porządkowych i wiąże się z tym wywóz śmieci.
Sygnatura metody destroy() to
public void zniszcz (){
// Kod finalizacji
}
Przeczytaj także: Serwlet a JSP
Konfiguracja środowiska serwletu
Aby stworzyć aplikację Servlet, najpierw musimy wykonać kilka kroków, takich jak instalacja serwera Tomcat, który jest opisany poniżej:
1. Tworzenie struktury katalogów
Źródło
Najpierw musimy utworzyć powyższą strukturę katalogów w katalogu o nazwie Apache – katalog Tomcat\webapps. Cały kod HTML, pliki statyczne, obrazy musimy przechowywać pod aplikacją internetową tworząc folder. Serwlety muszą być przechowywane w folderze klasy. Wreszcie plik web.xml powinien znajdować się w folderze WEB-INF.
2. Tworzenie serwletu
Istnieją trzy różne sposoby tworzenia serwletów.
- Poprzez implementację interfejsu Servlet.
- Rozszerzając klasę GenericServlet.
- Niezbędne jest rozszerzenie klasy serwletów HTTP.
Serwlet można utworzyć głównie wtedy, gdy możemy rozszerzyć klasę abstrakcyjną httpServlet.
3. Kompilacja serwletu
Do kompilacji serwletu wymagany jest plik JAR –
- Ustawiając ścieżkę klasy.
- Wklejając słoik do folderu JRE/lib/ext.
4. Utwórz deskryptor wdrożenia
DD można zdefiniować jako plik XML, który jest używany przez serwery internetowe, aby
mogą z łatwością uruchamiać serwlety. DD służy do kilku ważnych celów.
- Mapując adres URL do klasy Servlet.
- Inicjując parametry.
- Definiując stronę błędu.
- Według ról bezpieczeństwa.
- Deklarując biblioteki znaczników.
5. Uruchom serwer
Aby uruchomić serwer Apache Tomcat, musimy dwukrotnie kliknąć plik startup.bat w katalogu apache-tomcat/bin, a on zacznie działać.
6. Pierwsze uruchomienie serwera Tomcat
Aby uruchomić serwer Tomcat po raz pierwszy, musimy ustawić JAVA_HOME w zmiennej środowiskowej. Poniższe kroki są wymienione poniżej. Kliknij prawym przyciskiem myszy Mój komputer i musimy przejść do Właściwości .
Źródło
- Następnie przejdziemy do zakładki Zaawansowane i musimy kliknąć przycisk Zmienne środowiskowe .
Źródło
- Dlatego klikniemy przycisk Nowy i wpiszemy JAVA_HOME w polu tekstowym Nazwa zmiennej oraz ścieżkę JDK w polu tekstowym Wartość zmiennej. Następnie musimy go zapisać, klikając OK.
Źródło
7. Uruchamianie aplikacji Servlet
Kiedy uruchomimy przycisk apletu, będzie to wyglądało tak:
Po otwarciu przeglądarki musimy wpisać http:localhost:8080/First/hello
Zamówienie: wynagrodzenie programisty Java w Indiach
Interfejs żądania serwletu
ServletRequest ma na celu dostarczenie klientowi autentycznych informacji o aplecie, który:
zawiera typ treści, długość, wartości parametrów i wiele innych.
Metody
1. pobierzAtrybut(Ciąg)
Zwraca żądaną wartość atrybutów, jeśli atrybuty nie istnieją
następnie zwraca NULL.
2. pobierzNazwyAtrybutów()
Zwraca nazwy obecnych atrybutów, których żądają klienci.
3. pobierzKodowanieZnaków()
Zwraca pewien zestaw znaków.
4. pobierzDługośćZawartości()
Zwraca żądany rozmiar jednostki danych .
5. getContentType()
Najpierw żąda tożsamości obiektu. Jeśli nie zostanie znaleziony, zwraca wartość NULL.
6. getInputStream()
Zwraca binarny strumień danych odebranych przez klienta, a następnie zwraca ciągi.
7. pobierzParametr (ciąg)
Zwraca ciąg parametrów.
8. pobierzNazwyParametrów()
Zwraca nazwy parametrów.
9. getParameterValues (ciąg)
Zwraca wartości parametrów. Zawsze istnieją w formie sznurka.
10. pobierzProtokół()
Zwraca protokół i wersję w postaci <protokół>/<wersja główna>.<wersja pomocnicza>.
11. pobierzCzytnik()
Zwraca buforowany czytnik w celu odczytania tekstu w treści żądania.
12. getRealPath(Ciąg)
unika ścieżki wirtualnej i zwraca ścieżkę rzeczywistą.
13. pobierzRemoteAddr()
Zwraca adres IP.
14. pobierzRemoteHost()
Zwraca całkowicie ustrukturyzowaną nazwę hosta agenta.
15. pobierzSchemat()
Zwraca adres URL użyty w żądaniu.
16. pobierzNazwęSerwera()
Zwraca nazwę hosta serwera.
17. pobierz port serwera()
Zwraca numer portu.
18. setAttribute(Ciąg, Obiekt)
Ta metoda gromadzi atrybut dla dowolnego rodzaju żądań.
Odpowiedź na serwlet
ServletResponse wywołuje obiekt i rejestrowane są odpowiedzi różnych użytkowników. Za wszystkie te działania odpowiada kontener WWW. Krok do stworzenia tego jest bardzo ważny. Krokiem jest stworzenie obiektu.
Porozmawiajmy teraz szczegółowo o ServletConfig i ServletContext poniżej.
Konfiguracja serwletu
1. Kontener sieciowy tworzy obiekt konfiguracyjny na podstawie parametrów inicjalizacji.
2. Jeden ServletConfig na Servlet musi być obecny.
Metody
1. Równe (obiekt)
sprawdza, czy bieżący obiekt ma taką samą wartość jak podany obiekt.
2. PobierzHashCode()
Działa jako domyślna funkcja skrótu.
3. GetType()
Zwraca Type bieżącego wystąpienia.
4. MemberwiseClone()
Jeśli wywołamy ten obiekt, można utworzyć płytką kopię. Domyślnie odnosi się do obecnego obiektu .
5. ToString()
Zwraca ciąg, który reprezentuje bieżący obiekt.
Kontekst serwletu
Omówmy ServletContext poniżej:
- Jest bardzo konieczne, aby obiekt referencyjny był dostępny dla każdego Servlet aplikacji internetowej.
- Obiekt referencyjny jest w rzeczywistości ich implementacją w czasie wykonywania.
Dwa typy serwletów można zdefiniować jako:
1. Ogólne serwlety
Serwlety Generic nazywamy niezależnymi od protokołów, a ponadto wymagane jest ich wywoływanie przez nadpisywanie. Serwlety generyczne możemy wywoływać na trzy sposoby –
- Plik HTML
Możemy stworzyć bardzo nieskomplikowany plik HTML, który może wyglądać jak WebContent/index.html.
- Plik klasy Java
Serwlet generyczny można utworzyć poprzez rozszerzenie klasy GenericServlet. Jeśli możemy stworzyć prosty plik nowej klasy, możemy zmienić jego nazwę na ogólną. Ścieżka do pliku wygląda tak:/javaResouces/src/default package/generic.java.
- Plik XML
Plik ten znajdziemy w ścieżce WebContent/WEB-INF/web.xml. Możemy zmapować serwlet z określonym adresem URL.
2. Serwlet HTTP
Ten typ apletów jest niczym innym jak rozszerzeniem klas Servlet. Chociaż jest zależny od HTTP, ustala pewne reguły, które pomagają komunikować się przeglądarce internetowej i serwerom, a serwlet HTTP może również przesłonić metody doGet() lub doPost(). Ponadto może przesłonić obie metody.
Zalety serwletów
Zobaczmy teraz kilka zalet serwletów –
- Wydajność jest znakomita.
- Serwlety mogą być wykonywane w przestrzeni adresowej serwera. W rezultacie możemy powiedzieć, że nie jest konieczne tworzenie osobnej przestrzeni adresowej do obsługi żądania klienta.
- Są niezależne od platformy i oparte głównie na komponentach.
- Serwlety są zabezpieczone, ponieważ kierownik ds. bezpieczeństwa nakłada pewne ograniczenia w celu ochrony zasobów i danych.
- Podczas pracy użytkownicy nie muszą się martwić zwalnianiem pamięci jako techniką alokacji śmieci.
- Serwlety zapewniają pełną funkcjonalność, ponieważ dostępne są wszystkie biblioteki. Potrafi z łatwością komunikować się z apletami i innymi mechanizmami.
Źródło
Wady serwletów
Ograniczenia apletów są omówione jako:
- W JVM może być załadowany tylko jeden serwlet na raz. Możemy więc powiedzieć, że liczy się liczba wniosków.
- Gdy jest żądanie, może istnieć tylko wątek. Żaden proces nie powinien tam być obecny.
- Projektowanie serwletu jest kosztowne, a czasem dość problematyczne.
- Aby uruchomić serwlety, potrzebujemy innych ustawień w przeglądarce, takich jak JRE (Java Runtime Environment) na serwerze.
Przeczytaj także: Pomysły i tematy projektów Java
Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
W tej nowoczesnej erze cyfrowego świata technologia i internet stały się siłą napędową wszystkiego. Internet jest niespokojny. W każdej sekundzie jest zajęty przesyłaniem dużych ilości danych.
Ale ze względu na masowy transfer danych internet zwalnia, ponieważ potrzebujemy również prędkości. Tak więc dynamiczne witryny są tworzone przez programistów. Strony te są zmieniane i aktualizowane w każdej chwili. Aby dowiedzieć się więcej o serwletach w Javie i ich rozwoju, zapoznaj się z programem Executive PG UpGrad w zakresie pełnego stosu oprogramowania i rozpocznij swoją podróż.
Głównym motywem tego artykułu jest przedstawienie czytelnikom podstawowej koncepcji apletów, tak aby mogli uzyskać podstawową wiedzę na temat apletów.