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

2026. 5. 18. 13:20Book

모아보기


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

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


연습문제

01 GUI 기반의 애플리케이션 개발에 주로 사용되는 패턴으로 백엔드 기반의 웹 개발에도 기본이 되는 디자인 패턴은 무엇인가?

① MVC 패턴
② 추상 팩토리 패턴
③ 옵저버 패턴
④ 프로토타입 패턴

 

해설

p.232 「3. MVC 패턴이란?」에서는 MVC(Model-View-Controller) 패턴이 GUI 기반 애플리케이션 개발에 사용되며, 현재의 백엔드 기반의 웹 개발의 기본 모델로 활용된다고 설명합니다.

MVC 패턴은 화면(View), 데이터(Model), 요청 처리(Controller)를 분리하여 역할을 나누는 구조입니다.

반면 추상 팩토리 패턴, 옵저버 패턴, 프로토타입 패턴은 각각 객체 생성 및 이벤트 처리와 관련된 디자인 패턴으로, 문제에서 설명하는 웹 개발의 기본 구조와는 거리가 있습니다.

정답: ① MVC 패턴

 

 

02 프런트 컨트롤러에 대한 설명으로 틀린 것은 무엇인가?

① 프런트 컨트롤러는 모든 요청의 진입점이 되는 컨트롤러가 있고 여기에서 서브 컨트롤러를 호출하는 구조다.
② 프런트 컨트롤러를 구현하기 위해서는 우선 모든 요청을 하나로 모으는 방법이 필요하다.
③ 일반적으로는 서블릿 매핑의 구조적인 특징을 활용하여 프런트 컨트롤러를 구현한다.
④ 전체 시스템이 포털 형태로 회원 관리, 블로그, 카페 등으로 세부 시스템이 분리되어 있으면 컨텍스트를 분리하는 것은 세션 관리 등에 더욱 효율적이다.

 

해설

p.237 「프런트 컨트롤러 구현」에서는 모든 요청을 하나의 컨트롤러에서 받아 처리한 뒤, 필요한 서브 컨트롤러로 전달하는 구조라고 설명합니다.

또한 서블릿 매핑을 활용해 모든 요청을 하나로 모으는 방식으로 구현할 수 있습니다.

반면 ④는 웹 애플리케이션의 컨텍스트 분리와 관련된 설명으로, 프런트 컨트롤러 패턴 자체에 대한 설명과는 관련이 없습니다.

정답: ④ 전체 시스템이 포털 형태로 회원 관리, 블로그, 카페 등으로 세부 시스템이 분리되어 있으면 컨텍스트를 분리하는 것은 세션 관리 등에 더욱 효율적이다.

 

 

03 컨트롤러 서블릿에서 JSP의 useBean 액션과 같이 HTML 폼을 통해 전달되는 값을 자바 객체로 매핑하기 위해 사용하는 라이브러리는 무엇인가?

① Apache Commons BeanUtils
② Apache
③ Java Bean
④ Spring bean

 

해설

p.240 「입력값 핸들링」에서 서블릿에서는 JSP의 useBean 액션처럼 요청 파라미터 값을 자바 객체로 매핑하는 기능이 지원되지 않는다고 설명합니다. 이를 위해 별도의 라이브러리를 사용하며 대표적으로 Apache Commons BeanUtils를 사용한다고 설명합니다. 반면 Apache는 재단 이름이며, Java Bean과 Spring bean은 객체 개념에 대한 용어이지 요청 데이터를 매핑하는 라이브러리 이름은 아닙니다.

정답: ① Apache Commons BeanUtils

 

 

04 MVC 패턴에서 컨트롤러의 가장 기본적인 기능이 아닌 것은 무엇인가?

① 클라이언트 요청 처리
② 입력값 핸들링
③ 뷰 이동
④ 데이터베이스와 연동

 

해설

p.234 「컨트롤러」에서는 컨트롤러가 클라이언트 요청을 처리하고, 입력값을 받아 적절한 로직을 수행한 뒤 결과 화면(View)으로 이동시키는 역할을 한다고 설명합니다.

반면 데이터베이스와 직접 연동하는 역할은 일반적으로 Model 계층이 담당합니다.

정답: ④ 데이터베이스와 연동

 

 

05 사용자의 요청을 구분해 하나의 서블릿에서 처리하기 위한 방법 두 가지를 고르시오.

① 페이지 리디렉션
② URL의 파라미터 이용
③ 프런트 컨트롤러 구현
④ 페이지 포워딩

 

해설

p.235「클라이언트 요청 처리」에서는 하나의 서블릿에서 여러 요청을 처리하기 위해 URL의 파라미터를 이용하거나 프런트 컨트롤러 패턴을 사용하는 방법을 설명합니다.

URL 파라미터를 이용하면 요청 종류를 구분할 수 있으며, 프런트 컨트롤러는 모든 요청을 하나의 진입점으로 모아 서브 컨트롤러를 호출하는 구조로 처리할 수 있습니다.

반면 리디렉션과 포워딩은 페이지 이동 방식에 대한 개념으로, 요청을 구분하는 방법과는 차이가 있습니다.

정답: ② URL의 파라미터 이용, ③ 프런트 컨트롤러 구현