30 top servlet interview questions
인터뷰 준비에 도움이되는 가장 자주 묻는 서블릿 인터뷰 질문 및 답변 :
이 일련의 Servlet 질문은 모든 Servlet 인터뷰를 안내합니다.
여기에는 서블릿이 무엇인지, 서블릿이 등장한 이유, 서블릿의 수명주기 및 방법, 시작시로드, WAR 파일, 배포 설명자, 기능 및 시작 파일과 그 중요성에 대한 모든 내용이 포함됩니다.
또한 서블릿이 작동하는 방식, 서블릿 협업, 서블릿 구성, 서블릿 컨텍스트, 세션 추적 및 기술 및 이점, 이벤트, 필터, 작동 원리 및 중요성에 대해서도 알아 봅니다.
면접관은 항상 귀하의 답변에서 인터뷰에 도움이되는 몇 가지 실시간 예를 기대합니다. 따라서이 모든 질문을 철저히 살펴보고 자신의 말로 설명 할 수 있다면 인터뷰를 할 수 있습니다.
최고의 서블릿 인터뷰 질문
다음은이 기사에서 다루는 몇 가지 중요한 질문의 빠른 목록입니다.
- 서블릿이란 무엇입니까?
- 서블릿의 유형
- 서블릿 라이프 사이클
- 서블릿 라이프 사이클 방법
- 서블릿은 어떻게 작동합니까?
- WAR 파일과 그 사용?
- Load on Start-up이란 무엇이며 그 중요성은 무엇입니까?
- 배포 설명자는 무엇입니까?
- 서블릿 협업 절차
- RequestDispatcher 란 무엇입니까?
- SendRedirect 메서드와 그 용도는 무엇입니까?
- 서블릿 구성 및 서블릿 컨텍스트 정보
- 세션 추적 및 기술 정보
- 쿠키, 숨겨진 양식 필드, URL 등
- 이벤트 정보
- 필터 란 무엇이며 필터 유형은 무엇입니까?
자세한 답변부터 시작하겠습니다.
Q # 1) Servlet은 무엇을 의미합니까?
대답: Servlet은 웹 응용 프로그램을 만드는 데 사용되는 강력한 메커니즘입니다.
서버 측에서 차지하고 동적 웹 페이지를 생성하는 데 도움이되며 기본적으로 브라우저에서 들어오는 HTTP 요청과 데이터베이스 사이의 중재자 역할을합니다.
Servlet은 Java 언어를 기반으로하므로 강력하고 서버 측 프로그래밍 언어라고합니다.
위의 다이어그램은 Servlet의 흐름을 설명합니다.
요청은 웹 페이지에서 서블릿으로오고 서블릿은 요청을 적절한 JSP 페이지로 리디렉션하며 JSP 페이지는 사용자에게 표시되는 결과 페이지로 응답을 보냅니다.
추천 자료 = >> JSP 인터뷰 질문
Q # 2) CGI는 무엇이며 단점은 무엇입니까?
대답: CGI는 웹 서버에서 실행되는 클라이언트와 웹 서버를 통해 상호 작용하는 데 사용되는 서버 측에 작성된 코드 집합 인 Common Gateway Interface의 약자입니다.
들어오는 요청을 받고 모든 새 요청에 대해 새 프로세스를 시작합니다.
공통 게이트웨이 인터페이스의 단점 :
- 모든 수신 요청에 대해 새 프로세스를 생성하므로 수신 요청 수가 많으면 생성 된 응답이 매우 느려져 효율성이 떨어집니다.
- CGI는 플랫폼에 따라 다릅니다.
Q # 3) CGI에 비해 Servlet의 장점은 무엇입니까?
지속적 통합 및 지속적 전달 도구
답변 : 서블릿의 장점은 다음과 같습니다.
- 서블릿은 들어오는 각 요청에 대해 스레드를 만들고 처리하지 않으므로 더 빠릅니다.
- Servlet은 Java 프로그래밍 언어를 기반으로하므로 플랫폼 독립적입니다.
- Java를 기반으로하기 때문에 강력하고 안전합니다.
Q # 4) Servlet은 코드에서 어떻게 구현됩니까?
대답: 서블릿은 Httpservlet 또는 일반 서블릿 클래스를 확장하여 코드에서 구현할 수 있습니다.
Q # 5) Http Servlet과 Generic Servlet의 차이점은 무엇입니까?
대답: Generic Servlet은 모든 유형의 요청을 처리 할 수 있습니다. service () 메소드를 가지고 있기 때문에 독립적 인 반면 Http Servlet은 일반 서블릿을 확장하고 doGet (), doPost (), doHead (), doTrace () 등과 같은 HTTP 메소드를 지원합니다.
Q # 6) Servlet의 라이프 사이클 방법은 무엇입니까?
대답: 기본적으로 서블릿에는 세 가지 수명주기 방법이 있습니다.
이것들은:
- 초기화 ()
- 서비스 ()
- 파괴 ()
Q # 7) Servlet의 수명주기를 설명하십시오.
대답: 서블릿의 수명주기는 아래 다이어그램을 참조하여 설명됩니다.
- 처음에는 Client로부터받은 요청에 따라 Servlet 클래스가로드됩니다.
- 그런 다음 서블릿의 새 인스턴스 또는 객체가 생성됩니다. 모든 라이프 사이클에 대해 하나의 객체 만 생성됩니다.
- 그런 다음 서블릿을 초기화하는 데 사용되는 Init () 메서드가 호출됩니다.
통사론: public void Init ()
- Service () 메서드는 작업을 수행하기 위해 새 요청이 수신 될 때마다 호출됩니다.
통사론: 공공 무효 서비스 ()
- 그런 다음 삭제 메서드가 호출되어 정리 작업을 수행합니다.
통사론: 파괴 ()
서블릿 흐름도
Q # 8) 웹 컨테이너 란 무엇이며 그 역할은 무엇입니까?
대답: 웹 컨테이너는 Servlet 컨테이너라고도하며 Servlet과 상호 작용하는 데 사용되며 모든 Servlet, JSP, XML 파일을 포함합니다. 웹 컨테이너는 서블릿의 수명주기를 관리하고 URL을 특정 서블릿에 매핑하는 데 도움을줍니다. 웹 컨테이너는 서블릿의 객체를 생성합니다.
Q # 9) Get () 메서드와 Post () 메서드는 어떻게 다릅니 까?
대답: Post () 메서드보다 Get () 메서드가 선호되는 이유는 다음과 같습니다.
Get () 메서드 :
- 여기에서 데이터가 헤더를 통해 전송 될 때 특정 양의 데이터 또는 정보를 전송할 수 있습니다.
- Get () 메서드에서 데이터는 URL 표시 줄에 사용자에게 노출되기 때문에 보안되지 않습니다.
- Get () 메소드를 북마크 할 수 있습니다.
- 일반적으로 get () 메서드가 더 효과적이며 post () 메서드보다 사용됩니다.
게시 () 방법 :
- 여기에서 데이터가 본문을 통해 전송됨에 따라 엄청난 양의 데이터 또는 정보가 전송 될 수 있습니다.
- Post () 메서드의 데이터는 본문을 통해 전송되므로 보안이 유지됩니다.
- 게시 () 메소드는 북마크 할 수 없습니다.
- 일반적으로 Post () 방법은 덜 효과적이며 자주 사용되지 않습니다.
Q # 10) 서블릿 루핑 또는 체인이란 무엇입니까?
대답: 서블릿 루핑은 한 서블릿의 출력이 다른 서블릿에 대한 입력으로 제공되고 마지막 서블릿 출력이 클라이언트에 제공되는 실제 출력으로 간주되는 프로세스입니다.
이 프로세스는 요청 디스패처 인터페이스를 통해 수행됩니다.
Q # 11) 두 개 또는 세 개의 서블릿이 서로 어떻게 상호 작용하거나 통신합니까?
대답: 서블릿이 서로 통신 할 수있는 두 가지 프로세스가 있습니다.
- 디스패처 인터페이스 요청
- 서블릿 체이닝
Q # 12) Request Dispatcher와 그 방법을 설명하세요.
대답: Request Dispatcher는 브라우저 나 클라이언트로부터 요청을 수신하는 객체를 생성 한 다음 서버 측에있는 Servlet, JSP 또는 HTML과 같은 리소스로 이동합니다.
기본적으로 Request Dispatcher에는 두 가지 방법이 있습니다.
a) 전달 () 방법 :
- Forward () 메서드에서 클라이언트는 Servlet1에 요청을 보냅니다.
- Servlet1은 요청을 처리 한 다음 요청을 Servlet2로 전달합니다.
- servlet2는 요청을 처리하고 최종 응답으로 클라이언트에 다시 전송되는 응답을 생성합니다.
b) Include () 메서드 :
- Include () 메서드에서 클라이언트는 Servlet1에 요청을 보냅니다.
- Servlet1은 요청을 처리 한 다음 요청을 포함하고 요청을 Servlet2로 보냅니다.
- servlet2는 요청을 처리하고 다시 Servlet1로 다시 보냅니다.
- Servlet1은 최종 응답으로 클라이언트에 다시 전송되는 응답을 생성합니다.
Q # 13) Send Redirect () 방법의 용도는 무엇입니까?
대답: 클라이언트 측에서 작동하는 Send Redirect () 메서드는 응답을 Servlet, JSP, HTML과 같은 다른 리소스로 리디렉션하는 데 사용됩니다.
통사론: void send Redirect (URL);
예: response.sendredirect (“http://www.google.com”);
Q # 14) Forward () 방식과 Send Redirect () 방식은 어떻게 다른가요?
온라인에서 무료 애니메이션을 어디에서 볼 수 있습니까?
대답:
전달 () 방법 :
- 다른 리소스에 정확히 동일한 요청을 보내는 데 사용됩니다.
- 서버 내 서버 측에서 작동합니다.
리디렉션 보내기 () 방법 :
- URL을 사용하므로 항상 리소스에 새 요청을 보냅니다.
- 그것은 서버 외부와 내부 모두에서 클라이언트 측에서 작동합니다.
Q # 15) WAR 파일에 대해 설명해주세요.
대답: WAR 파일은 기본적으로 웹 아카이브 파일이라고하며, XML, 서블릿, JSP, HTML, 구성 파일과 같은 응용 프로그램의 모든 파일이 단일 파일로 결합되어 응용 프로그램을 간단하고 쉽게 배포 할 수 있습니다.
배포를 위해 WAR 파일을 사용하는 것이 좋습니다.
Q # 16) Servlet Context는 무엇을 의미합니까?
대답: Servlet Context는 기본적으로 응용 프로그램 및 웹 컨테이너에 대한 정보가있는 객체라고합니다. 서블릿 컨텍스트를 사용하여 이벤트를 기록하고 특정 리소스의 URL을 가져오고 다른 서블릿이 사용할 속성을 쉽게 저장할 수 있습니다.
Servlet의 핵심 장점은 유지 관리가 쉽고 컨테이너와 서블릿 사이의 중재자 역할을한다는 것입니다.
아래에 주어진 서블릿 컨텍스트의 몇 가지 중요한 방법이 있습니다.
- getInitParameter () – 매개 변수 값을 반환합니다.
- getInitParameterNames () – 매개 변수의 이름을 반환합니다.
- 무효 setAttribute () – 속성 값을 설정하는 데 사용됩니다.
- 무효 getAttribute () – 속성 값을 가져 오는 데 사용됩니다.
- void removeAttribute () – 속성을 제거하는 데 사용됩니다.
Q # 17) Servlet의 기능은 정확히 무엇인가요?
답변 : 서블릿이 수행하는 기능은 다음과 같습니다.
- 첫째, 서블릿은 클라이언트 측에서 보낸 HTTP 요청을 수신합니다.
- 요청을 읽고 요청에서 데이터를 추출합니다.
- 정보를 추출한 후 서블릿은 데이터베이스에 액세스하거나 EJB를 호출하여 비즈니스 논리 작업을 수행합니다.
- 마지막으로 응답을 생성하여 HTTP 형식으로 클라이언트에 보내거나 응답을 JSP 페이지로 보냅니다.
Q # 18) 배포 설명 자란 무엇을 의미합니까?
대답: WEB.XML은 서블릿의 배포 설명 자라고합니다.
모든 응용 프로그램의 진입 점이며 환영 파일 목록을 보유합니다. 리소스, 사용되는 서블릿에 대한 정보를 정의하고 서블릿을 URL에 매핑합니다.
Q # 19) 세션 추적과 그 중요성에 대해 설명해주세요.
대답: 세션 추적은 클라이언트 또는 사용자의 데이터를 유지 관리 할 수있는 프로세스입니다.
새로운 요청이 서버에 올 때마다 서버는 새로운 요청이 동일한 클라이언트에서 오는 것을 인식 할 수 없으므로이 문제를 피하기 위해 세션 추적 기술이 사용됩니다.
세션 추적은 클라이언트 또는 요청을 인식하는 데 중요한 역할을합니다.
Q # 20) 세션 추적 기법에는 어떤 것이 있습니까?
대답:
기본적으로 다음과 같은 네 가지 유형의 기술이 있습니다.
a) 쿠키 : 쿠키는 여러 클라이언트 요청에 추가되는 작은 정보입니다.
예: 하나의 요청이 서버에 오면 서버는 응답과 함께 쿠키를 추가합니다. 이제 동일한 클라이언트가 다시 요청을 서버에 보내면 서버는 사용자를 인식합니다.
b) 숨겨진 양식 필드 : 여기에서는 사용자의 상태를 유지하기 위해 숨겨진 텍스트 필드를 사용합니다.
c) URL 재 작성 : 여기에서 매핑 할 다음 서블릿에 대한 추가 링크를 제공합니다.
d) Http 세션 : 여기서는 각 사용자에 대해 특정 ID가 생성되어 서버가 사용자를 인식 할 수 있습니다.
Q # 21) Servlet 이벤트 란 무엇입니까?
대답: 이벤트는 단지 발생 일뿐입니다. 물체의 상태를 변경하는 것조차도 이벤트입니다.
이벤트 클래스 및 인터페이스는 다음과 같습니다.
- 클래스: ServletRequestEvent, ServletContextEvent, HttpSessionEvent 등
- 인터페이스 : ServletRequestListner, ServletContextListner, HttpSessionListner 등
Q # 22) 필터 란 무엇을 의미하며 어떻게 작동합니까?
대답: 필터는 기본적으로 물건을 걸러내는 데 사용됩니다.
유사한 방식으로 서블릿의 필터는 요청의 전처리 및 요청의 후 처리에 도입되는 객체입니다. 주요 기능에는 변환, 값 암호화 및 암호 해독, 데이터에 대한 입력 유효성 검사가 IP 주소를 캡처하고 들어오는 모든 요청을 저장하는 것이 포함됩니다.
필터는 web.xml에 정의되어 있으며 web.xml에서 제거 할 수 있으므로 서블릿을 변경할 필요가 없어 비용이 절감됩니다.
서블릿 필터 작동 다이어그램
Q # 23) 스타트 업의 부담과 그 중요성을 설명해주세요.
대답: 시작시로드는 web.xml (배포 설명자)에 정의 된 요소로, 서버가 다시 시작되는 동안 배포시 서블릿이로드되도록 도와줍니다.
시작시로드를 사용하는 이유는 수신 된 첫 번째 요청에 서블릿이로드되기 때문에 처음에는로드하는 데 더 많은 시간이 걸리므로 시작시 대출을 정의하면 효율성이 감소합니다. 잔뜩 효율성을 높이는 서버를 다시 시작하는 동안 서블릿.
시작시로드는 두 가지 값에서도 작동합니다.
- 긍정 (0,1,2,3….) : 가장 낮은 양의 값이 먼저로드됩니다.
- 부정: 첫 번째 요청이 수신되면 서블릿이로드됩니다.
Q # 24) 서블릿이 동기화되어 있습니까?
대답: 아니요, 서블릿은 동기화되지 않습니다. 서블릿을 동기화하려면 SingleThreadInterface를 구현해야합니다.
Q # 25) Scope Object는 무엇을 의미하며 그 유형은 무엇입니까?
대답: 범위 객체는 setattribute () 및 getattribute ()를 통해 웹 구성 요소간에 정보를 공유하는 데 도움이됩니다.
범위 개체의 유형은 다음과 같습니다.
- 웹 컨텍스트
- 세션
- 의뢰
- 페이지
Q # 26) 현지화라는 용어는 무엇을 의미합니까?
대답: 현지화는 기본적으로 사용자가 따르는 현지 전통 또는 언어를 의미합니다. 따라서 모든 사용자가 이해할 수 있도록 힌디어를 추가하는 것과 같은 특정 웹 사이트에 리소스 나 요소를 추가합니다.
Q # 27) 서블릿이 여러 요청을 받으면 얼마나 많은 객체를 생성합니까?
대답: Servlet은 수신 요청 수에 관계없이 하나의 인스턴스 만 생성합니다.
Q # 28) Servlet과 Applet의 주요 차이점은 무엇입니까?
대답: Servlet과 Applet의 주요 차이점은 Servlet이 서버 측에있는 반면 Applet은 웹 브라우저의 클라이언트 측에 있다는 것입니다.
Q # 29) Servlet 내부에 생성자를 가질 수 있습니까?
대답: 예, 서블릿 내부에 생성자를 정의 할 수 있지만 명시 적이 아닌 서블릿 컨테이너에 의해서만 호출 될 수 있습니다.
Q # 30) Servlet에서 작동하는 패키지의 이름은 무엇입니까?
대답: 아래와 같이 Servlet과 함께 작동하는 기본적으로 두 개의 패키지가 있습니다.
- Javax.servlet
- Javax.servlet.http
Q # 31) HTTP 요청에는 어떤 종류가 있나요?
셀레늄 인터뷰 질문 및 답변 pdf
대답: HTTP 요청의 종류는 다음과 같습니다.
- 가져 오기
- 게시하다
- 머리
- 옵션
- 놓다
- 자취
- 지우다
Q # 32) Context Parameter와 Context Attribute의 주요 차이점은 무엇인가요?
대답: 둘의 주요 차이점은
컨텍스트 매개 변수는 배포 설명자 (예 : web.xml)에 저장된 값이며 배포 프로세스 중에로드됩니다. 반면 Context Attribute는 동적으로 설정되고 응용 프로그램 전체에서 사용할 수있는 값입니다.
Q # 33) 서블릿을 연결하는 과정은 무엇입니까?
대답: 서블릿 체이닝은 한 서블릿의 출력을 다른 서블릿의 입력으로 제공하는 매우 간단한 프로세스입니다.
먼저 연결해야하는 리소스에 대한 RequestDispatcher를 만들어야합니다. 그런 다음 필요한 경우 요청에 대한 속성 값을 설정해야합니다. 그런 다음 RequestDispatcher 객체에서 forward () 메소드를 호출하거나 include () 메소드를 호출해야합니다.
Servlet이 무엇인지 명확하게 이해 하셨을 것입니다!
모든 성공을 기원합니다 !!