상위 50개 서블릿 인터뷰 질문 및 답변(2024)
꿈의 직업을 얻기 위한 신입 지원자와 경험 많은 지원자를 위한 서블릿 인터뷰 질문과 답변은 다음과 같습니다.
1. 서블릿이란 무엇입니까?
서블릿은 Java 기술이며 서블릿 엔진이라는 컨테이너에 의해 관리됩니다. 동적 콘텐츠를 생성하고 요청 및 응답을 통해 클라이언트와 상호 작용합니다.
2. 서블릿을 주로 사용하는 이유는 무엇입니까?
서블릿은 플랫폼 독립적인 Java 클래스이고 플랫폼 중립적인 바이트 코드로 컴파일되기 때문에 주로 사용됩니다. Java 바이트 코드는 Java 지원 웹 서버에 동적으로 로드되고 실행될 수 있습니다.
3. 서블릿 컨테이너란 무엇인가요?
서블릿 컨테이너는 요청 및 응답이 전송되는 MIME 기반 요청 및 응답에 따라 네트워크 서비스를 제공하는 웹 서버의 일부입니다. 라이프사이클 전반에 걸쳐 서블릿을 포함하고 관리합니다.
4. 필터란 무엇인가요?
필터는 HTTP 요청, 응답 및 헤더 정보의 내용을 변환하는 재사용 가능한 코드 조각일 뿐입니다.
5. 새 데이터가 데이터베이스에 입력되면 어떻게 자동으로 새로 고칠 수 있습니까?
클라이언트 측 새로 고침과 서버 푸시를 수행하여 데이터베이스에 새로운 데이터가 입력되면 자동으로 새로 고칠 수 있습니다.
6. 세션이란 무엇입니까?
세션은 서블릿에서 사용되는 개체이며 여러 HTTP 요청에서 웹 애플리케이션과 사용자 상호 작용을 추적하는 데 사용됩니다.
7. 서블릿 매핑이란 무엇입니까?
서블릿 매핑은 서블릿과 URL 패턴 간의 연관 매핑입니다. 이는 요청과 서블릿을 매핑하는 데 사용됩니다.
8. 서블릿 컨텍스트란 무엇입니까?
서블릿 컨텍스트에는 서블릿이 실행될 웹 애플리케이션의 서블릿 뷰가 포함되어 있습니다. 컨텍스트를 사용하여,
- 로그 이벤트
- 리소스에 대한 URL 참조 얻기
- 속성 설정 및 저장
9. 모든 서블릿에서 어떤 인터페이스를 구현해야 합니까?
서블릿 인터페이스는 모든 서블릿에서 구현되어야 합니다.
10. 서블릿의 생명주기는 어떻게 되나요?
다음은 서블릿의 라이프사이클입니다.
- 로드
- 초기화
- 파괴
- 언로드
11. 요청 디스패처를 호출할 때 서블릿 요청과 서블릿 컨텍스트의 차이점은 무엇입니까?
Servlet Request를 사용하는 경우에는 상대 URL을 호출할 수 있고, Servlet Context를 사용하는 경우에는 상대 URL을 사용하지 않습니다.
12. Servlet 2.5에 추가된 기능은 무엇입니까?
Servlet 2.5에 추가된 기능은 다음과 같습니다.
- J2SE 5.0에 대한 종속성
- 주석 지원
- 수업 로드 중
- 여러 웹.XML
- 제한사항이 제거되었습니다.
- 엣지 케이스 설명
13. 서블릿이 로드되는 시기는 언제입니까?
다음과 같은 경우 서블릿을 로드할 수 있습니다.
- 첫 번째 요청이 이루어졌습니다.
- 자동 로딩 및 서버 시작
- 모든 요청에 동시에 응답하여 메모리를 절약하는 단일 인스턴스가 있습니다.
- 관리자가 수동으로 로드합니다.
14. 서블릿이 언제 언로드됩니까?
다음과 같은 경우 서블릿이 언로드됩니다.
- 서버가 종료됩니다
- 관리자가 수동으로 언로드
15. HttpServlet이 지원하는 프로토콜은 무엇입니까?
HttpServlet은 HTTP 및 HTTPS 프로토콜만 지원합니다.
16. 세션 추적이란 무엇입니까?
세션 추적은 지정된 기간 동안 동일한 사용자의 일련의 요청에 대한 상태를 유지하는 데 사용됩니다.
17. 세션 추적이 필요한 이유는 무엇입니까?
모든 HTTP 요청은 HTTP 프로토콜로 캡처되어야 하며 이를 위해 상태가 캡처됩니다. 상태 추적을 세션 추적이라고 합니다.
18. 세션 추적의 유형은 무엇입니까?
세션 추적에는 다음과 같은 유형이 있습니다.
- URL 재 작성
- 숨겨진 양식 필드
- Cookies
- SSL (Secure Socket Layer)
19. 쿠키의 장점은 무엇입니까?
쿠키는 서버 상호작용 없이 유지될 수 있는 장기적인 정보를 저장하는 데 사용됩니다. 소형 및 중형 데이터는 대기열에 보관됩니다.
20. URL 재작성이란 무엇입니까?
URL 재작성은 각 URL 끝에 추가 데이터를 추가하는 세션 추적 방법 중 하나입니다. 이 추가 데이터는 세션을 식별합니다.
21. 서블릿 지연 로딩이란 무엇입니까?
시작 시 초기화되지 않는 서블릿 컨테이너를 서블릿 지연 로딩이라고 합니다.
22. 서블릿 체이닝이란 무엇입니까?
체이닝(Chaining)은 하나의 서블릿이 두 번째 서블릿에 전달되는 방법 중 하나입니다. 이 연결은 서블릿 수에 관계없이 발생할 수 있습니다.
23. 필터의 중요한 기능은 무엇입니까?
필터의 중요한 기능은 다음과 같습니다.
- 보안 검색
- 요청 또는 응답 수정
- 데이터 압축
- 로깅 및 감사
- 응답 압축
24. 서블릿 컨테이너의 기능은 무엇입니까?
서블릿 컨테이너의 기능은 다음과 같습니다.
- 라이프 사이클 관리
- 커뮤니케이션 지원
- 멀티 스레딩 SUPPORT
- 선언적 보안
- JSP 지원
25. JSP와 서블릿의 차이점은 무엇입니까?
JSP는 주로 프레젠테이션에 사용되는 HTTP 프로토콜을 지원합니다. 그러나 서블릿은 HTTP, FTP, SMTP 등과 같은 모든 프로토콜을 지원할 수 있습니다.
26. 세션 추적을 위한 모든 방법은 무엇입니까?
세션 추적 방법은 다음과 같습니다.
- Cookies
- URL 재 작성
- Http세션
- 숨겨진 양식 필드
27. 스크립틀릿이란 무엇입니까?
스크립틀릿에는 페이지 스크립팅 언어에서 유효할 수 있는 모든 언어 명령문, 변수, 표현식이 포함됩니다. 스크립틀릿은 생성된 서블릿 서비스 메소드의 일부입니다.
28. 서버와 컨테이너의 차이점은 무엇입니까?
서버는 클라이언트에 서비스를 제공할 수 있으며 EJB, 서블릿, JSP 컨테이너와 같은 하나 이상의 컨테이너를 포함합니다. 컨테이너는 객체 세트를 보유합니다.
29. 클라이언트 측과 서버 측에서 서블릿을 자동으로 새로 고칠 수 있나요?
클라이언트 측에서는 새로 고침에 Meta http가 사용되고 서버 측 새로 고침에는 서버 푸시가 사용됩니다.
30. ServletConfig와 ServletContext의 차이점은 무엇입니까?
ServletConfig는 web.xml 파일 내부에 정의된 서블릿 구성에 대한 정보를 제공하며 각 서블릿의 특정 객체입니다.
ServletContext는 애플리케이션 특정 객체이며 모든 서블릿에서 공유됩니다. 하나의 JVM에 있는 하나의 애플리케이션에 속합니다.
31. 순수 서블릿이란 무엇입니까?
순수 서블릿은 javax.servlet.Servlet 인터페이스에서 구현할 수 있는 Java 객체를 생성하는 데 사용되는 서블릿입니다.
32. 서블릿과 애플릿의 차이점은 무엇입니까?
서블릿은 서버 측 구성에 사용되며 서버에 유지됩니다. 그러나 애플릿은 클라이언트 측 코딩에 사용되며 클라이언트 브라우저에서 실행됩니다.
33. 일반 서블릿 클래스란 무엇입니까?
일반 서블릿은 모든 서블릿의 상위 클래스입니다. 이 클래스는 다른 모든 클래스에 의해 확장되며 프로토콜 독립적입니다.
34. 자바 서블릿이란 무엇입니까?
Java 서블릿은 웹 기반 날짜에 대한 보안 액세스를 제공하는 데 사용됩니다. 이는 웹 서버에 있는 기능을 확장할 수 있습니다. 플랫폼과 서버에 독립적이므로 다양한 용도로 사용됩니다.
35. 스트링 토크나이저란 무엇입니까?
문자열 토크나이저는 문자열을 토큰으로 나누는 데 사용되며 토큰 값은 생성자에서 인수로 전달됩니다.
36. HttpServlet은 무엇이며 GenericServlet과 어떻게 다릅니까?
HttpServlet은 GenericServlet을 확장하고 Genericservlet의 속성을 상속합니다. HttpServlet은 HTTP 프로토콜 서블릿을 정의하는 반면 GenericServlet은 일반적인 프로토콜 독립적 서블릿을 정의합니다.
37. 현재 HttpSession 객체를 얻는 방법은 무엇입니까?
GetSession 메소드는 HttpservletRequest에서 현재 HttpSession 객체를 가져오는 데 사용됩니다.
38. Java Servlet의 기본 초기화란 무엇을 의미합니까?
서블릿 초기화 중 하나로 처음 호출 시 초기화된다.
39. 서블릿 호출자란 무엇입니까?
Servlet Invoker를 사용하면 웹 애플리케이션이 /WEB-INF/web.xml의 서블릿 태그를 사용하여 새 서블릿 정의를 동적으로 등록할 수 있습니다.
40. 서블릿 매핑이란 무엇입니까?
서블릿 매핑은 URL 패턴을 서블릿과 매핑합니다. 클라이언트의 요청이 있으면 서블릿 컨테이너는 매핑해야 할 애플리케이션을 결정합니다.
41. HttpServlet이 지원하는 모든 프로토콜은 무엇입니까?
HttpServlet은 HTTP 및 HTTPS 프로토콜을 지원합니다.
42. 서블릿이 제대로 초기화되지 않으면 어떤 예외가 발생합니까?
서블릿이 제대로 초기화되지 않으면 서블릿 예외 또는 사용할 수 없는 예외가 발생합니다.
43. 생성자를 작성하는 책임은 누구에게 있습니까?
컨테이너는 서블릿에서 인수 없이 생성자를 작성하는 역할을 담당합니다.
44. CGI에 비해 서블릿의 장점은 무엇입니까?
CGI에 비해 Servlet의 장점은 다음과 같습니다.
- 개별 프로세스에서는 실행할 수 없습니다.
- 요청하는 동안 서블릿은 메모리에 유지됩니다. 모든 CGI 요청에 대해 CGI 프로그램을 로드하고 시작해야 합니다.
- web.xml 편의
45. 서블릿을 사용할 수 있는 다른 모드는 무엇입니까?
다음은 서블릿을 사용할 수 있는 모드입니다.
- 필터 체인을 사용하여 서블릿을 함께 수집할 수 있습니다.
- HTTP 프로토콜 지원
- CGI 기반 응용 프로그램에 사용됩니다.
- 서블릿의 동적 생성
46. 서블릿의 용도는 무엇입니까?
서블릿은 다음에 의해 제출된 데이터를 처리하고 저장하는 데 사용됩니다. HTML 양식, 동적 콘텐츠, 여러 요청을 동시에 처리하고 상태 비저장 HTTP를 기반으로 상태 정보를 관리합니다.
47. 서블릿에서 교착상태가 발생할 수 있습니까?
네, doPost 메소드에 doGet 메소드를 작성하고 doGet 메소드에 doPost 메소드를 작성하면 가능합니다.
48. 서블릿의 기본 HTTP 메소드는 무엇입니까?
HTTPservlet의 기본 방법은 GET 방법입니다.
49. 서블릿에서 쓰레드를 사용할 수 있나요?
예. 서블릿에서는 단일 스레드를 사용할 수 있습니다.
50. 서블릿이 제대로 초기화되지 않은 경우 어떤 예외가 발생해야 합니까?
제대로 초기화되지 않으면 서블릿 예외 또는 사용할 수 없음 예외가 발생합니다.
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.