[짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크] 연습문제 11장 해설/정답

2026. 5. 26. 21:53Book

모아보기


이번 글에서는『짧고 굵게 배우는 JSP 웹 프로그래밍과 스프링 프레임워크』11장 연습문제의 해설과 정답을 정리합니다.

본 도서는 공식적인 연습문제 해답을 제공하지 않습니다. 따라서 각 문제에 대해 도서 기반의 해설과, 정답을 설명합니다.


연습문제

01 자바 웹 개발에서 컨테이너에서 발생하는 특정 이벤트 상황을 모니터링하다가 실행되는 특수한 형태의 서블릿을 무엇이라 하는가?

① 리스너
② 필터
③ 세션
④ 쿠키

 

해설

p.360 「1. 리스너란?」에서는 리스너를 웹 컨테이너에서 발생하는 특정 이벤트를 감지하고 자동으로 실행되는 객체라고 설명합니다. 리스너는 애플리케이션 시작 및 종료, 세션 생성 및 소멸 등의 이벤트를 처리할 때 사용됩니다.

반면 필터는 요청과 응답을 가로채 처리하는 기능이며, 세션과 쿠키는 사용자 상태 정보를 관리하기 위한 기술입니다.

정답: ① 리스너

 

 

02 리스너를 통해 감지할 수 있는 컨테이너 이벤트 유형이 아닌 것을 고르시오.

① ServletContext 생명 주기 변화
② ServletContext 속성 변화
③ Session 생명 주기 변화
④ Filter 속성 변화

 

해설

p.361 「2. 리스너의 종류」에서는 ServletContext와 Session의 생명 주기 및 속성 변화를 감지하는 다양한 리스너를 설명합니다.

예를 들어 ServletContextListener, ServletContextAttributeListener, HttpSessionListener 등이 이에 해당합니다.

반면 Filter 자체의 속성 변화를 감지하는 리스너는 일반적인 컨테이너 이벤트 유형에 포함되지 않습니다.

정답: ④ Filter 속성 변화

 

 

03 리스너를 활용해 구현할 수 있는 프로그램 사례로 거리가 먼 것을 고르시오.

① 톰캣이 시작되거나 종료될 때 생긴 로그를 지우는 데 사용한다.
② 시스템에 새로운 사용자가 로그인할 때 로그인 정보를 관리 목적의 데이터베이스에 기록하는 데 사용한다.
③ 톰캣이 시작될 때 설정 파일을 읽어 자동으로 데이터베이스 연결, 테이블 생성, 샘플 데이터 로딩 등의 작업을 수행하는 데 사용한다.
④ 웹 애플리케이션 시작 시 연결이 필요한 외부 서비스의 동작 유무를 사전에 확인하고, 문제가 있으면 준비된 대안을 따르는 코드를 수행하는 데 사용한다.

 

해설

p.360 「1. 리스너란? 」 에서는 웹 애플리케이션 실행에 필요한 정보 제공 및 외부 서비스 점검, 톰캣 시작/종료와 같은 특정 상황에 자동으로 동작하는 프로그램을 구현할 때 사용한다고 설명합니다.

반면 ①의 “생긴 로그를 지운다”는 표현은 리스너의 일반적인 활용 사례와는 거리가 있으며, 서버 로그 자체를 제거하는 용도로 사용하는 것은 적절하지 않습니다.

정답: ① 톰캣이 시작되거나 종료될 때 생긴 로그를 지우는 데 사용한다.

 

 

04 필터의 활용 분야가 아닌 것을 고르시오.

① 인증(Authentication)
② 로깅/감사(Logging and Auditing)
③ 세분화(Subdivision)
④ 한글 인코딩 처리(Encoding)

 

해설

p.364 「1. 필터란?」에서는 필터가 인증(Authentication), 로깅 및 감사(Logging and Auditing), 국제화(Localization), 한글 인코딩 처리(Encoding) 등의 기능에 활용된다고 설명합니다.

필터는 클라이언트 요청과 응답을 가로채 공통 기능을 처리하기 위한 기술인 반면, 세분화(Subdivision)는 일반적인 필터 활용 분야로 보기 어렵습니다.

정답: ③ 세분화(Subdivision)