30 top servlet interview questions
Najczęściej zadawane pytania do wywiadów serwletowych i odpowiedzi, które pomogą ci w przygotowaniu wywiadu:
Ta seria pytań dotyczących Servlet poprowadzi Cię przez każdy wywiad z Servletem.
Zawiera wszystko o tym, czym jest serwlet, dlaczego pojawił się serwlet, cykl życia serwletu i jego metody, ładowanie przy uruchomieniu, plik WAR, deskryptor wdrażania, jego funkcje i plik powitalny oraz jego znaczenie.
Dowiemy się również, jak działa serwlet, współpraca serwletów, konfiguracja serwletów, kontekst serwletu, śledzenie sesji oraz techniki i korzyści, zdarzenia, filtr, jego zasada działania i znaczenie.
Ankieter zawsze oczekuje w Twojej odpowiedzi kilku przykładów w czasie rzeczywistym, które okażą się przydatne w wywiadach. Stąd, jeśli dokładnie przejdziesz przez wszystkie te pytania i jeśli jesteś w stanie wyjaśnić to własnymi słowami, możesz przejść przez rozmowę kwalifikacyjną.
Najlepsze pytania do wywiadów z serwletami
Oto krótka lista niektórych ważnych pytań omówionych w tym artykule:
- Co to jest Servlet?
- Rodzaje serwletów
- Cykl życia serwletu
- Metody cyklu życia serwletów
- Jak działa serwlet?
- Plik WAR i jego zastosowanie?
- Co to jest Load on Start-up i jakie jest jego znaczenie?
- Co to jest deskryptor wdrażania?
- Procedura współpracy serwletów
- Co to jest RequestDispatcher?
- Czym jest metoda SendRedirect i jej zastosowanie?
- Informacje o konfiguracji serwletu i kontekście serwletu
- Informacje o śledzeniu sesji i jego technikach
- Pliki cookie, ukryte pola formularzy, adresy URL itp
- O wydarzeniach
- Co to jest filtr i typy filtrów?
Zacznijmy od szczegółowych odpowiedzi.
P # 1) Co masz na myśli mówiąc „Servlet”?
Odpowiedź: Servlet to potężny mechanizm używany do tworzenia aplikacji internetowych.
Jest zajęty po stronie serwera i pomaga generować dynamiczne strony internetowe, w zasadzie działa jako pośrednik między przychodzącym żądaniem HTTP z przeglądarki a bazą danych.
Servlet jest oparty na języku Java, dlatego jest solidny i nazywany językiem programowania po stronie serwera.
Powyższy diagram wyjaśnia przepływ serwletu.
Żądanie pochodzi ze strony WWW do serwletu, serwlet przekierowuje żądanie do odpowiedniej strony JSP, a strona JSP wysyła odpowiedź jako stronę wynikową, która jest widoczna dla użytkownika.
Zalecana lektura = >> Pytania do wywiadów JSP
P # 2) Co to jest CGI i jakie są jego wady?
Odpowiedź: CGI oznacza Common Gateway Interface, czyli zestaw kodów napisanych po stronie serwera, który jest używany do interakcji za pośrednictwem serwera sieci Web z klientem działającym na serwerze sieci Web.
Przyjmuje przychodzące żądanie i dla każdego nowego żądania rozpoczyna nowy proces.
Wady wspólnego interfejsu bramy:
- Ponieważ tworzy nowy proces dla każdego przychodzącego żądania, jeśli liczba przychodzących żądań jest większa, generowana odpowiedź będzie bardzo powolna, co z kolei obniży wydajność.
- CGI jest zależne od platformy.
Pytanie 3) Jakie są zalety serwletu w porównaniu z CGI?
najlepszy darmowy konwerter plików dla systemu Windows 10
Odpowiedź: Oto zalety serwletu:
- Aplet tworzy wątek dla każdego przychodzącego żądania i nie przetwarza go, dzięki czemu jest szybszy.
- Servlet jest niezależny od platformy, ponieważ jest oparty na języku programowania Java.
- Ponieważ jest oparty na Javie, jest również solidny i bezpieczny.
Pytanie 4) Jak zaimplementowano serwlet w kodzie?
Odpowiedź: Serwlet można zaimplementować w kodzie, po prostu rozszerzając klasę Httpservlet lub ogólną klasę serwletu.
P # 5) Jaka jest różnica między serwletem HTTP a serwletem ogólnym?
Odpowiedź: Serwlet ogólny może obsługiwać wszystkie typy żądań. Ponieważ posiada metodę service (), jest niezależna, podczas gdy Http Servlet rozszerza ogólny serwlet i obsługuje metody HTTP, takie jak doGet (), doPost (), doHead (), doTrace () itp.
P # 6) Jakie są metody cyklu życia serwletu?
Odpowiedź: Zasadniczo istnieją trzy metody cyklu życia serwletu.
To są:
- W tym ()
- Usługa ()
- Zniszcz ()
Q # 7) Wyjaśnij cykl życia serwletu.
Odpowiedź: Cykl życia serwletu został wyjaśniony na poniższym diagramie.
- Najpierw klasa Servlet jest ładowana zgodnie z żądaniem otrzymanym od Klienta.
- Następnie tworzona jest nowa instancja lub obiekt serwletu. Tworzony jest tylko jeden obiekt na każdy cykl życia.
- Następnie wywoływana jest metoda Init (), która służy do inicjalizacji serwletu.
Składnia: public void Init ()
- Metoda Service () jest wywoływana za każdym razem, gdy odbierane jest nowe żądanie w celu wykonania jakichkolwiek operacji.
Składnia: public void service ()
- Następnie wywoływana jest metoda zniszczenia w celu wykonania operacji czyszczenia.
Składnia: zniszczyć ()
Diagram przepływu serwletu
P # 8) Co to jest kontener sieciowy i za co jest odpowiedzialny?
Odpowiedź: Kontener WWW jest również nazywany kontenerem serwletów i służy do interakcji z serwletem i zawiera wszystkie zawarte w nim pliki serwletu, JSP i XML. Kontener WWW zarządza cyklem życia serwletu i pomaga odwzorować adres URL na określony serwlet. Kontener WWW tworzy obiekt serwletu.
P # 9) Czym różni się metoda Get () od metody Post ()?
Odpowiedź: Powody, dla których metoda Get () jest preferowana w stosunku do metody Post (), podano poniżej.
Get (), metoda:
- W tym przypadku określona ilość danych lub informacji może zostać wysłana, gdy dane są wysyłane przez nagłówek.
- W metodzie Get () dane nie są zabezpieczone, ponieważ są ujawniane użytkownikowi w pasku adresu URL.
- Get () można dodać do zakładek.
- Ogólnie metoda get () jest bardziej efektywna i używana w porównaniu z metodą post ().
Metoda post ():
- Tutaj ogromna ilość danych lub informacji może zostać przesłana, gdy dane są przesyłane przez ciało.
- Ponieważ dane w metodzie Post () są przesyłane przez body, są zabezpieczone.
- Nie można dodać do zakładek metody Post ().
- Ogólnie metoda Post () jest mniej skuteczna i nie jest często używana.
P # 10) Co to jest pętla lub łańcuch serwletów?
Odpowiedź: Pętla serwletów to proces, w którym dane wyjściowe jednego serwletu są podawane jako dane wejściowe do innego serwletu, a ostatnie wyjście serwletu jest traktowane jako rzeczywiste dane wyjściowe dostarczane do klienta.
Ten proces jest realizowany za pośrednictwem interfejsu wysyłającego żądania.
P # 11) W jaki sposób dwa lub trzy serwlety będą ze sobą współdziałać lub komunikować się ze sobą?
Odpowiedź: Istnieją dwa procesy, w których serwlety mogą się ze sobą komunikować.
- Poproś o interfejs dyspozytora
- Łańcuch serwletów
Q # 12) Wyjaśnij Request Dispatcher i jego metody.
Odpowiedź: Request Dispatcher tworzy obiekt, który jest odpowiedzialny za odbieranie żądań z przeglądarki lub klienta, a następnie kieruje je do wszelkich zasobów, takich jak serwlety, JSP lub HTML, które znajdują się po stronie serwera.
Zasadniczo istnieją dwie metody wysyłania żądań:
a) Metoda Forward ():
- W metodzie Forward () klient wysyła żądanie do Servlet1.
- Servlet1 przetwarza żądanie, a następnie przekazuje je dalej do Servlet2.
- Aplet2 przetwarza żądanie i generuje odpowiedź, która z kolei jest odsyłana do klienta jako ostateczna odpowiedź.
b) Metoda Include ():
- W metodzie Include () klient wysyła żądanie do Servlet1.
- Servlet1 przetwarza żądanie, a następnie zawiera żądanie i wysyła żądanie do Servlet2.
- Servlet2 przetwarza żądanie i ponownie wysyła je z powrotem do Servlet1 i
- Servlet1 generuje odpowiedź, która z kolei jest odsyłana do klienta jako ostateczna odpowiedź.
P # 13) Jakie jest zastosowanie metody Send Redirect ()?
Odpowiedź: Metoda Send Redirect (), która działa po stronie klienta, służy do przekierowania odpowiedzi do innego zasobu, takiego jak Servlet, JSP, HTML.
Składnia: void send Redirect (URL);
Przykład: response.sendredirect („http://www.google.com”);
P # 14) Czym różni się metoda Forward () od metody Send Redirect ()?
Odpowiedź:
Metoda Forward ():
- Służy do wysyłania dokładnie tego samego żądania do innego zasobu.
- Działa po stronie serwera na serwerze.
Metoda Send Redirect ():
- Zawsze wysyła nowe żądanie do zasobów, ponieważ używa adresu URL.
- Działa po stronie klienta zarówno na zewnątrz, jak i na serwerze.
Q # 15) Wyjaśnij plik WAR?
Odpowiedź: Plik WAR jest zasadniczo nazywany plikiem zarchiwizowanym w sieci Web, który zawiera wszystkie pliki aplikacji, takie jak XML, serwlety, JSP, HTML, pliki konfiguracyjne, połączone w jeden plik, dzięki czemu wdrożenie aplikacji byłoby proste i łatwe.
Do wdrożenia zaleca się użycie pliku WAR.
P # 16) Co rozumiesz przez kontekst serwletu?
Odpowiedź: Kontekst serwletu jest zasadniczo określany jako obiekt, który zawiera informacje dotyczące aplikacji i kontenera WWW. W kontekście serwletu możemy rejestrować zdarzenia, uzyskiwać adres URL konkretnego zasobu i łatwo przechowywać atrybuty do wykorzystania przez inne serwlety.
Główną zaletą serwletu jest to, że jest łatwy w utrzymaniu i działa jako pośrednik między kontenerem a serwletem.
Istnieje kilka ważnych metod kontekstu serwletu, które podano poniżej:
- getInitParameter () - zwraca wartość parametru.
- getInitParameterNames () - zwraca nazwę parametru.
- void setAttribute () - służy do ustawiania wartości atrybutów.
- void getAttribute () - służy do pobierania wartości atrybutów.
- void removeAttribute () - służy do usuwania atrybutu.
P # 17) Jakie dokładnie są funkcje serwletu?
Odpowiedź: Funkcje wykonywane przez serwlety są następujące:
- Po pierwsze, serwlety odbierają żądanie HTTP, które jest wysyłane po stronie klienta.
- Czyta żądanie i wyodrębnia dane z żądania.
- Po wyodrębnieniu informacji serwlety wykonują operację logiki biznesowej, uzyskując dostęp do bazy danych lub wywołując komponenty EJB.
- Na koniec generuje odpowiedź i wysyła ją do klienta w postaci HTTP lub wysyła odpowiedź na stronę JSP.
P # 18) Co rozumiesz przez deskryptor wdrożenia?
Odpowiedź: Mówi się, że WEB.XML jest deskryptorem wdrażania w serwlecie.
Jest to punkt wejścia dla każdej aplikacji i zawiera listę plików powitalnych. Definiuje zasoby, informacje o tym, który serwlet będzie używany i odwzorowuje serwlet na adres URL.
jak byś przetestował pióro
P # 19) Wyjaśnij śledzenie sesji i jego znaczenie?
Odpowiedź: Śledzenie sesji to proces, w którym można zachować dane klienta lub użytkownika.
Ponieważ za każdym razem, gdy do serwera dociera nowe żądanie, serwer nie jest w stanie rozpoznać, że nowe żądanie pochodzi od tego samego klienta, aby uniknąć tego problemu, stosowana jest technika śledzenia sesji.
Śledzenie sesji odgrywa kluczową rolę w rozpoznawaniu klienta lub żądania.
P # 20) Jakie są różne techniki śledzenia sesji?
Odpowiedź:
Zasadniczo istnieją cztery rodzaje technik, które podano poniżej:
a) Pliki cookie: Pliki cookie to niewielkie informacje, które są dodawane do wielu żądań klientów.
Przykład: Na serwer przychodzi jedno żądanie, serwer dodaje ciasteczka z odpowiedzią, teraz, gdy ponownie ten sam klient wysyła żądanie do serwera, serwer rozpoznaje użytkownika.
b) Ukryte pole formularza: Tutaj używamy ukrytego pola tekstowego do utrzymywania stanu użytkownika.
c) Przepisywanie adresów URL: Tutaj podajemy dodatkowe łącze do mapowania następnego serwletu.
d) Sesja HTTP: Tutaj dla każdego użytkownika generowany jest określony identyfikator, dzięki czemu serwer może rozpoznać użytkownika.
Q # 21) Jakie są zdarzenia Servlet?
Odpowiedź: Wydarzenia to nic innego jak zdarzenia. Zdarzeniem jest również zmiana stanu obiektu.
Klasy i interfejs zdarzeń są następujące:
najlepsza aplikacja do pobierania muzyki mp3 na Androida
- Zajęcia: ServletRequestEvent, ServletContextEvent, HttpSessionEvent itp.
- Interfejsy: ServletRequestListner, ServletContextListner, HttpSessionListner itp.
P # 22) Co masz na myśli mówiąc o filtrze i jak on działa?
Odpowiedź: Filtr jest zasadniczo używany do filtrowania rzeczy.
W podobny sposób filtr w serwlecie to obiekt, który jest wprowadzany przy wstępnym przetwarzaniu żądania i końcowym przetwarzaniu żądania. Jego główne funkcje obejmują konwersję, szyfrowanie i odszyfrowywanie wartości, sprawdzanie poprawności danych wejściowych przy przechwytywaniu adresu IP i zapisywanie wszystkich przychodzących żądań.
Filtr jest zdefiniowany w pliku web.xml i można go usunąć z pliku web.xml, dzięki czemu nie ma potrzeby zmiany serwletu, co powoduje redukcję kosztów.
Schemat działania filtru serwletu
P # 23) Wyjaśnij obciążenie podczas rozruchu i jego znaczenie?
Odpowiedź: Load on start-up to element zdefiniowany w web.xml (deskryptorze wdrażania), który pomaga serwletowi załadować się w czasie wdrażania, podczas restartu serwera.
Powodem używania obciążenia przy uruchomieniu jest to, że aplet jest ładowany przy pierwszym otrzymanym żądaniu, więc początkowo ładowanie zajmuje więcej czasu, co powoduje zmniejszenie wydajności, jeśli zdefiniujemy pożyczkę przy uruchomieniu jako masa serwlet podczas restartowania serwera, co zwiększa wydajność.
Obciążenie przy uruchomieniu działa również na dwóch wartościach:
- Pozytywne (0,1,2,3….): Najniższa wartość dodatnia zostanie załadowana jako pierwsza.
- Negatywny: Aplet zostanie załadowany po odebraniu pierwszego żądania.
P # 24) Czy serwlet jest zsynchronizowany?
Odpowiedź: Nie, serwlety nie są zsynchronizowane. Jeśli chcemy zsynchronizować serwlet, musimy zaimplementować SingleThreadInterface.
P # 25) Co masz na myśli przez obiekt zakresu i jakie są jego typy?
Odpowiedź: Obiekty Scope pomagają w udostępnianiu informacji między komponentami sieciowymi za pośrednictwem setattribute () i getattribute ().
Typy obiektów z zakresu:
- Kontekst sieciowy
- Sesja
- Żądanie
- Strona
P # 26) Do czego odnosi się termin lokalizacja?
Odpowiedź: Lokalizacja zasadniczo odnosi się do lokalnej tradycji lub języka, którym posługuje się użytkownik. Dlatego dodajemy zasoby lub elementy do konkretnej witryny internetowej, takie jak dodanie języka hindi, aby każdy użytkownik mógł to zrozumieć.
Pytanie 27) Jeśli serwlet otrzyma wiele żądań, ile obiektów utworzy?
Odpowiedź: Servlet utworzy tylko jedną instancję, bez względu na liczbę otrzymanych żądań przychodzących.
P # 28) Jaka jest główna różnica między serwletem a apletem?
Odpowiedź: Główna różnica między serwletem a apletem polega na tym, że serwlet znajduje się po stronie serwera, podczas gdy aplet znajduje się po stronie klienta w przeglądarce internetowej.
Q # 29) Czy można mieć Konstruktora wewnątrz serwletu?
Odpowiedź: Tak, możliwe jest zdefiniowanie konstruktora wewnątrz serwletu, ale może on być wywoływany tylko przez kontener serwletu, a nie jawnie.
Q # 30) Nazwij pakiety, które współpracują z serwletem?
Odpowiedź: Zasadniczo istnieją dwa pakiety, które współpracują z serwletem, jak pokazano poniżej:
- Javax.servlet
- Javax.servlet.http
P # 31) Jakie są rodzaje żądań HTTP?
Odpowiedź: Rodzaje żądań HTTP obejmują:
- Otrzymać
- Poczta
- Głowa
- Opcje
- Położyć
- Ślad
- Kasować
P # 32) Jaka jest główna różnica między parametrem kontekstu a atrybutem kontekstu?
Odpowiedź: Główna różnica między nimi polega na tym,
Parametr kontekstu to wartość przechowywana w deskryptorze wdrażania, tj. Web.xml i jest ładowana podczas procesu wdrażania. Natomiast Atrybut kontekstu to wartości, które są ustawiane dynamicznie i mogą być używane w całej aplikacji.
P # 33) Jak wygląda proces łączenia serwletów w łańcuch?
Odpowiedź: Łączenie serwletów jest bardzo prostym procesem, w którym dane wyjściowe jednego serwletu są przekazywane jako dane wejściowe do innego serwletu.
Po pierwsze, musimy utworzyć RequestDispatcher dla zasobu, który ma być powiązany. Następnie musimy ustawić wartości atrybutów dla żądania, jeśli jest to wymagane. Następnie musimy wywołać metodę forward () lub metodę include () na obiekcie RequestDispatcher.
Jestem pewien, że miałbyś jasny obraz tego, o co chodzi w Servlet!
Życzymy wszystkim sukcesów !!
rekomendowane lektury
- Pytania i odpowiedzi do wywiadu
- ETL Pytania i odpowiedzi podczas rozmowy kwalifikacyjnej testującej
- Top 30+ popularnych pytań i odpowiedzi do wywiadów z ogórkami
- 30 najpopularniejszych pytań i odpowiedzi do wywiadów SAS
- 30 najczęściej zadawanych pytań i odpowiedzi na rozmowę z testami bezpieczeństwa
- 30+ najpopularniejszych pytań i odpowiedzi do wywiadów Scruma (LISTA 2021)
- 30 najpopularniejszych pytań i odpowiedzi do wywiadów DBMS
- 30 najważniejszych pytań i odpowiedzi do wywiadów PL / SQL w 2021 r