JSP의 contentType 속성이란?
JSP에서 contentType 속성은 페이지 지시어(page directive)를 통해 설정하는 중요한 속성으로, JSP 페이지가 생성하는 응답(response)의 콘텐츠 유형과 문자 인코딩 방식을 결정합니다.
기본 콘텐츠 타입은 text/html이며, 이는 HTML 페이지의 표준 콘텐츠 타입입니다. 별도로 지정하지 않으면 브라우저는 응답을 HTML 문서로 해석하여 화면에 렌더링합니다.
contentType 속성의 주요 용도
1. XML 문서 출력하기
JSP에서 XML 데이터를 출력하고 싶다면 다음과 같은 페이지 지시어를 사용합니다.
<%@ page contentType = "text/xml" %>
이렇게 설정하면 브라우저는 해당 페이지를 HTML이 아닌 XML 문서로 인식하고 처리합니다.
2. HTML로 렌더링 지정하기
생성된 페이지를 브라우저에서 HTML로 렌더링하도록 명시적으로 지정하려면 아래와 같이 작성합니다.
<%@ page contentType = "text/html" %>
3. Microsoft Word 문서로 출력하기
응답을 웹 페이지가 아닌 Word 문서 형태로 전달할 수도 있습니다. 다음 지시어는 콘텐츠 타입을 마이크로소프트 워드 문서로 설정합니다.
<%@ page contentType = "application/msword" %>
이 경우 브라우저는 해당 페이지를 열 때 Word 프로그램으로 파일을 다운로드하거나 실행하게 됩니다.
문자 인코딩(Charset) 지정하기
contentType 속성은 응답의 문자 인코딩(character encoding)까지 함께 지정할 수 있습니다. 예를 들어, 브라우저로 반환되는 페이지가 ISO Latin 1(ISO-8859-1) 인코딩을 사용하도록 하려면 다음과 같은 페이지 지시어를 사용합니다.
<%@ page contentType = "text/html; charset=ISO-8859-1" %>
한글 처리를 위한 UTF-8 인코딩
한국어 웹 서비스를 개발할 때는 한글 깨짐 현상을 방지하기 위해 일반적으로 UTF-8 인코딩을 사용하는 것이 좋습니다.
<%@ page contentType = "text/html; charset=UTF-8" %>
이처럼 contentType 속성 하나만으로 응답 형식과 문자셋을 동시에 제어할 수 있어, JSP 개발에서 반드시 이해하고 있어야 하는 핵심 속성입니다.