Top 24 pytań i odpowiedzi na wywiad dotyczący serwletów

Opublikowany: 2021-06-03

Serwlet to oprogramowanie oparte na Javie, które rozszerza możliwości serwera. Jest to istotny składnik każdego serwera, ponieważ odpowiada on na żądania kontenerów i obsługuje aplikacje internetowe. Aby uruchomić back-end strony internetowej, czyli po stronie serwera, musisz znać serwlety i ich działanie.

Ponieważ serwery oparte na Javie są bardzo popularne, nauka o serwletach jest niezbędna, jeśli chcesz pracować z serwerami WWW.

Jeśli przygotowywałeś się do rozmowy z programistą, to dobrze trafiłeś. Poniższe pytania do rozmowy kwalifikacyjnej serwletu dadzą ci wyobrażenie o tym, czego możesz oczekiwać od rozmowy kwalifikacyjnej.

Spis treści

Lista najważniejszych pytań do wywiadu dotyczącego serwletów

  1. Co rozumiesz przez Servlet?

Odp.: Serwlety to technologie Java, a kontener, który nimi zarządza, nazywany jest silnikiem serwletów. Aplet wytwarza dynamiczną zawartość i współdziała z klientem poprzez żądanie i odpowiedź. Zwykle uruchamiają się po kliknięciu linku lub wykonaniu dowolnego rodzaju akcji na stronie internetowej. Serwlety są podobne do apletów, ale różnica polega na tym, że są przetwarzane na serwerze, podczas gdy aplet jest przetwarzany na komputerze klienta.

  1. Co to jest kontener serwletów?

Odp.: Kontenery serwletów są częścią serwera WWW, który oferuje usługi sieciowe. Zależą one od żądań i odpowiedzi opartych na MIME. Kontener serwletów obsługuje serwlety.

  1. Dlaczego używamy serwletów?

Odp: Zazwyczaj używamy serwletów, ponieważ są one niezależne od platformy. Co więcej, są one kompilowane w kod bajtowy neutralny dla platformy. Kod bajtowy Java można ładować dynamicznie do serwera WWW obsługującego język Java.

  1. Co rozumiesz przez filtr?

Odp.: Filtry to fragmenty kodu wielokrotnego użytku, które mogą przekształcać zawartość żądań HTTP, odpowiedzi i nagłówków.

  1. Jaka jest różnica między serwerem aplikacji a serwerem WWW?

Odp.: Serwer WWW obsługuje żądania HTTP z przeglądarki klienta i odpowiada odpowiedzią HTML. Przetwarza język HTTP i działa na protokole HTTP.

Z drugiej strony serwer aplikacji zapewnia dodatkowe funkcje, takie jak obsługa JMS Messaging, obsługa Enterprise JavaBeans itp., wraz z podstawowymi funkcjonalnościami serwera WWW.

  1. Co rozumiesz przez sesję?

Odp.: Sesja oznacza okres czasu. W serwlecie sesje są obiektami używanymi przez serwlet do śledzenia interakcji użytkownika z aplikacjami internetowymi w ramach wielu żądań HTTP.

  1. Co rozumiesz przez kontekst serwletów?

Odp.: Kontekst serwletu definiuje zestaw metod, które serwlet wykorzystuje do komunikowania się ze swoim kontenerem serwletów. Kontener serwletów tworzy ten obiekt, aby udostępnić początkową konfigurację lub parametry całej aplikacji

Obiekt ServletContext można uzyskać za pomocą metody getServletContext(). Dla aplikacji istnieje tylko jeden kontekst apletu. Możesz użyć ServletContext do udostępniania informacji w całej aplikacji.

Uwaga: Jest to jedno z najważniejszych pytań i odpowiedzi na wywiady dotyczące serwletów.

  1. Co oznacza mapowanie serwletów?

Odp.: Mapowanie serwletów zapewnia konkretny kontener WWW, z którego serwlet java powinien być wywoływany dla określonego adresu URL. Zmapowałby wzorce adresów URL do serwletu. Kiedy klient wysyła żądanie, kontener serwletów określa, do której aplikacji przekaże je, a system dopasowuje ścieżkę kontekstu, aby wykonać mapowanie serwletów.

  1. Jak odświeżyć się automatycznie po wprowadzeniu nowych danych do bazy?

Odp.: Możesz użyć funkcji Refresh w trybie Server Push i Client-side, aby automatycznie odświeżać się podczas wprowadzania nowych danych do bazy danych.

  1. Wyjaśnij cykl życia serwletu.

Odp.: Cykl życia serwletu podzielony jest na pięć etapów. Najpierw ładujesz klasę serwletu, a następnie tworzysz instancję serwletu. Następnie wywołujesz metodę init(), następnie metodę service, a na końcu metodę destroy(). Aplet ma trzy stany: nowy, gotowy i koniec.

Podczas tworzenia serwlet byłby w nowym stanie. Przechodzi w stan gotowości po wywołaniu metody init(). Na koniec przechodzi w stan końcowy po wywołaniu metody destroy().

  1. Jakie nowe funkcje zostały dodane w Servlecie 2.5?

Odp: Servlet 2.5 został wyposażony w następujące nowe funkcje:

  • Zależność J2SE 5.0
  • Obsługa adnotacji
  • Wczytywanie klas
  • Nowy web.xml
  • Objaśnienia dotyczące krawędzi
  • Usunięcie ograniczeń
  1. Jaki interfejs implementują (lub powinny implementować) wszystkie serwlety?

Odp.: Wszystkie serwlety muszą implementować interfejs serwletów.

  1. Kiedy ładowany jest serwlet?

Odp.: Aplet jest ładowany, gdy:

  • Złożone zostaje pierwsze żądanie.
  • Uruchamianie serwera i automatycznego ładowania.
  • Pojedyncza instancja odpowiada na wszystkie żądania jednocześnie, co oszczędza pamięć.
  • Administrator ładuje się ręcznie.
  1. Kiedy aplet jest rozładowywany?

Odp.: Aplet jest rozładowywany, gdy serwer jest zamykany lub administrator rozładowuje go ręcznie.

  1. Co masz na myśli przez typ MIME?

Odp: MIME oznacza uniwersalne rozszerzenie poczty internetowej. Typ MIME to nagłówek HTTP, który zawiera informacje o tym, co wysyłamy do przeglądarki. Pomaga klientowi w renderowaniu danych. Typowe typy MIME to tekst (HTML), tekst (zwykły), obrazy (jpeg), aplikacja (jar) itp.

Aby uzyskać poprawny typ MIME konkretnego pliku, możesz użyć metody ServletContext getMimeType(). Przydaje się podczas pobierania pliku przez serwlety z serwera.

  1. Jaka jest różnica między metodami POST i GET?

Odp.: Podstawowa różnica między metodami POST i GET polega na tym, że metoda POST przenosi parametry odpowiedzi w treści wiadomości, podczas gdy metoda GET przenosi parametry odpowiedzi dołączone w ciągu adresu URL.

  1. Co rozumiesz przez aplikację internetową?

Odp.: Aplikacja internetowa to moduł działający na serwerze w celu dostarczenia dynamicznej i statycznej zawartości do przeglądarki klienta. Serwer WWW Apache obsługuje PHP i możesz za jego pomocą stworzyć aplikację internetową.

Java obsługuje aplikacje internetowe za pośrednictwem stron JSP, a serwlety działające w kontenerze serwletów oferują dynamiczną zawartość przeglądarce klienta.

  1. Jakie zalety ma serwlet w porównaniu z CGI?

Odp.: Technologia CGI miała wiele niedociągnięć. Serwlety zostały wprowadzone, aby przezwyciężyć to samo.

Serwlety oferują lepszą wydajność niż CGI pod względem wykorzystania pamięci i czasu przetwarzania. Korzystają z zalet wielowątkowości, gdzie tworzą nowy wątek dla każdego żądania, znacznie zwiększając swoją szybkość. W przeciwieństwie do tego, CGI tworzy nowy obiekt dla każdego żądania, co jest stosunkowo wolniejsze niż proces serwletów.

Serwlety są niezależne od systemu i platformy. Aplikację internetową opartą na serwletach można uruchomić na dowolnym standardowym kontenerze internetowym (Glassfish, Tomcat i JBoss) i systemach operacyjnych (Unix, Windows, Mac itp.).

Krzywa uczenia się dla serwletów jest dość niewielka, ponieważ wystarczy obsłużyć logikę biznesową aplikacji. Co więcej, ich kontener obsługuje cykl życia serwletu, więc nie ma ryzyka wycieków pamięci, zbierania śmieci i bezpieczeństwa.

  1. Co wiesz o obiekcie ServletConfig?

Odp.: Obiekt ServletConfig służy do przekazywania informacji konfiguracyjnych do określonego serwletu. Każdy serwlet posiada unikalny obiekt ServletConfig, a kontener serwletu tworzy jego instancję. Parametry początkowe serwletu można podać za pomocą adnotacji WebInitParam. Aby uzyskać obiekt ServletConfig serwletu, musiałbyś użyć metody getServletConfig().

  1. Jakie zadania zwykle wykonuje kontener serwletów?

Odp.: Kontener serwletów wykonuje następujące zadania:

  • Ułatwia komunikację między serwletami, stronami JSP i klientem WWW. Nie musisz budować gniazda serwera, aby otrzymywać żądania, analizować je i generować odpowiedzi dzięki kontenerowi. Kontener zajmuje się tymi zadaniami, pozwalając skupić się na logice biznesowej.
  • Kontener serwletów obsługuje cykl życia serwletów. Ładuje aplety do pamięci, inicjuje je, wywołuje niezbędne metody i niszczy je. Kontenery serwletów upraszczają również zarządzanie zasobami, oferując narzędzia, takie jak JNDI.
  • Kontenery serwletów tworzą nowe wątki dla każdego żądania i dają serwletom obiekty żądań i odpowiedzi. W ten sposób nie musisz inicjować serwletów dla każdego żądania, oszczędzając dużo pamięci i czasu.
  • Serwlety kompilują strony JSP i konwertują je na serwlety, aby zarządzać nimi jak serwletami, co upraszcza zadanie.
  1. Co masz na myśli mówiąc dyspozytor żądań?

Odp.: Interfejs RequestDispatcher służy do przekazywania żądań do innego zasobu. Tym zasobem może być inny serwlet w aplikacji, HTML lub JSP. Możesz użyć interfejsu RequestDispatcher, aby dodać zawartość innego zasobu do swojej odpowiedzi. Jest to doskonałe rozwiązanie do komunikacji między serwletami.

W interfejsie RequestDispatcher można zdefiniować dwie metody:

  • Metoda void forward. Przekazuje żądanie z jednego serwletu do innego zasobu.
  • Pustka obejmuje metodę. Dodaje treść innego zasobu do Twojej odpowiedzi.
  1. Jaka jest różnica między ServletContext a ServletConfig?

Odp.: ServletContext jest unikalnym obiektem dla całej aplikacji, podczas gdy ServletConfig jest unikalnym obiektem dla serwletu. Możesz użyć ServletContext do podania parametrów init w całej aplikacji, z których mogą korzystać wszystkie serwlety. Z drugiej strony, możesz użyć ServletConfig do dostarczenia parametrów init tylko do określonego serwletu.

Możesz ustawić atrybuty w ServletContext, których mogą używać inne aplety, ale nie możesz wybrać atrybutów w ServletConfig.

Uwaga : Jest to jedno z najważniejszych pytań i odpowiedzi na wywiady dotyczące serwletów. Powinieneś to starannie przygotować.

  1. Co wiesz o atrybutach serwletów?

Odp.: Atrybuty serwletów pomagają w komunikacji między serwletami. Możesz ustawiać, pobierać i usuwać atrybuty w aplikacji. Atrybuty serwletu mają trzy zakresy: zakres żądania, zakres sesji i zakres aplikacji, a mianowicie. Różnią się one od parametrów początkowych.

  1. Jak nazwałbyś serwlet z innego serwletu?

Odp.: Możesz użyć funkcji RequestDispatcher forward(), aby przekazać przetwarzanie żądania do innego serwletu. Jeśli chcesz dodać kolejne dane wyjściowe serwletu do odpowiedzi, możesz użyć metody RequestDispatcher include().

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

Powyższe pytania i odpowiedzi dotyczące serwletu powinny pomóc ci zrozumieć, jakie pytania zadaje ci rozmowa kwalifikacyjna. Zalecamy dodanie tej strony do zakładek, aby móc później do niej wrócić i kilkakrotnie powtórzyć pytania.

Staraj się zachować spokój i opanowanie podczas rozmowy. Pomoże ci to uważnie wysłuchać pytań i odpowiednio na nie odpowiedzieć. Możesz zapoznać się z naszym programem Executive PG w zakresie tworzenia oprogramowania ze specjalizacją w programowaniu pełnego stosu , aby poznać bardziej zaawansowane koncepcje dotyczące języka Java i powiązanych z nią tematów.

Czym są serwlety w Javie?

Serwlet to klasa Javy, którą może wywołać serwer HTTP. Serwlety są zwykle używane do tworzenia aplikacji internetowych. Głównym celem serwletu jest obsługa żądań od klienta HTTP i zwracanie odpowiedniej odpowiedzi. Istnieje wiele typów serwletów, ale najpopularniejszym z nich jest Java Server Pages (JSP), ponieważ mogą one być używane do tworzenia dynamicznej treści WWW.

Jak działa żądanie-odpowiedź w serwlecie Java?

Serwery używają serwletów do odpowiadania na żądania użytkownika. Aplet może być używany do pobierania informacji z bazy danych, wysyłania wiadomości e-mail lub wyświetlania informacji. Jest to mały program, który wykonuje określone zadanie dla serwera. Serwlety są napisane w Javie i skompilowane w pojedynczy plik klasy. Następnie są wdrażane na serwer WWW. Po wdrożeniu serwlety są gotowe do przyjmowania żądań od użytkowników. Żądaniem może być wszystko, od użytkownika klikającego łącze do użytkownika wypełniającego formularz. Żądanie jest wysyłane do serwera, gdzie jest kierowane do odpowiedniego serwletu. Aplet następnie przetwarza żądanie i odsyła odpowiedź. Ta odpowiedź może się różnić w zależności od typu żądania. Na przykład, jeśli użytkownik żądał informacji, aplet mógłby zwrócić te informacje użytkownikowi. Jeśli aplet odpowiada na żądanie formularza, może wysłać do użytkownika wiadomość e-mail z potwierdzeniem lub powiadomienie o przesłaniu.

Jaki jest cykl życia serwletu?

Można powiedzieć, że aplet ma trzy etapy cyklu życia: 1. Ładowanie 2. Wykonywanie 3. Niszczenie. Podczas ładowania aplet otrzymuje pewne parametry inicjujące. Te parametry są zdefiniowane w deskryptorze wdrażania. Po zakończeniu ładowania serwlet może być wywołany przez kontener serwletów na wiele sposobów - przez wywołanie jego metody init(), przez wywołania ajax lub przez zdarzenia cyklu życia. Kolejnym i ostatnim etapem jest destrukcja, czyli wyjęcie serwletu z kontenera. Istnieje kilka sposobów usuwania serwletów z kontenera serwletów, na przykład po zatrzymaniu kontenera lub po zatrzymaniu aplikacji internetowej.