JSP에서 JSTL로 외부 콘텐츠 가져오기와 리다이렉트 처리하기
이번 글에서는 JSTL의 URL 처리 태그인 <c:import>
와 리다이렉트 태그인 <c:redirect>
에 대해 알아보고, 이를 활용하여 JSP 페이지에서 외부 콘텐츠를 가져오거나 사용자를 다른 URL로 리다이렉트하는 방법에 대해 알아보겠습니다. 이러한 태그들을 통해 JSP 페이지에서 동적인 콘텐츠를 처리하고, 사용자 경험을 향상시킬 수 있습니다.
1. JSTL URL 처리 및 리다이렉트 태그 개요
JSTL의 URL 처리와 리다이렉트 태그는 JSP 페이지에서 외부 콘텐츠를 가져오거나 특정 URL로 사용자를 리다이렉트할 때 유용하게 사용됩니다. 주요 태그로는 <c:import>
와 <c:redirect>
가 있으며, 이를 통해 JSP 페이지에서 동적인 콘텐츠를 처리하거나 사용자를 특정 페이지로 이동시킬 수 있습니다.
▼ 코어 태그 종류
- c:if: 조건이 참일 경우에만 특정 코드를 실행하는 태그입니다. 자바의
if
문과 유사하게 동작합니다. - c:choose: 여러 조건 중 하나를 선택하여 실행할 수 있는 태그입니다. 자바의
switch
문과 비슷한 역할을 합니다. - c:when:
c:choose
태그 내에서 특정 조건이 참일 때 실행되는 블록을 정의하는 태그입니다. - c:otherwise:
c:choose
태그 내에서 모든c:when
조건이 거짓일 때 실행되는 블록을 정의하는 태그입니다. - c:forEach: 컬렉션이나 배열의 요소들을 반복하여 처리할 수 있는 태그입니다.
- c:forTokens: 문자열을 토큰으로 분리하여 반복 처리를 할 수 있는 태그입니다.
- c:set: 변수를 설정하거나 값을 저장할 때 사용하는 태그입니다.
- c:remove: 설정된 변수를 제거할 때 사용하는 태그입니다.
- c:catch: 예외 처리를 위한 태그로, JSP에서 발생하는 예외를 처리할 수 있습니다.
- c:import: 외부 콘텐츠를 가져오거나 다른 페이지의 내용을 포함할 때 사용하는 태그입니다.
- c:redirect: 특정 URL로 리다이렉트할 때 사용하는 태그입니다.
2. <c:import> 태그
<c:import>
태그는 외부 콘텐츠를 JSP 페이지에 포함시키는 데 사용됩니다. 이 태그는 HTML 페이지, JSP 페이지, 서블릿, 또는 외부 URL에서 콘텐츠를 가져와서 현재 JSP 페이지에 포함할 수 있습니다.
2.1 <c:import> 태그의 주요 속성
- url: 가져올 콘텐츠의 URL을 지정합니다.
- var: 가져온 콘텐츠를 저장할 변수 이름을 지정합니다.
- scope: 변수를 저장할 스코프를 지정합니다. (
page
,request
,session
,application
) - context: 현재 웹 애플리케이션 외부의 다른 애플리케이션의 콘텐츠를 가져올 때 사용합니다.
2.2 <c:import> 태그 예제
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL c:import 태그 예제</title>
</head>
<body>
<h1>JSTL c:import 태그 예제</h1>
<!-- 외부 HTML 파일 가져오기 -->
<c:import url="https://www.naver.com/index.html" var="externalContent" />
<div>
<h2>외부 콘텐츠:</h2>
<c:out value="${externalContent}" />
</div>
</body>
</html>
이 예제에서는 외부 웹사이트에서 HTML 파일을 가져와서 <c:import>
태그로 JSP 페이지에 포함시킵니다. 가져온 콘텐츠는 externalContent
변수에 저장되며, 이를 페이지에 출력합니다.
▼ 실행 결과

3. <c:redirect> 태그
<c:redirect>
태그는 사용자를 다른 URL로 리다이렉트할 때 사용됩니다. 이 태그를 통해 특정 조건이 충족되었을 때 사용자를 다른 페이지로 이동시킬 수 있습니다.
3.1 <c:redirect> 태그의 주요 속성
- url: 리다이렉트할 대상 URL을 지정합니다.
3.2 <c:redirect> 태그 예제
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL c:redirect 태그 예제</title>
</head>
<body>
<h1>JSTL c:redirect 태그 예제</h1>
<!-- 사용자를 특정 URL로 리다이렉트 -->
<c:redirect url="https://www.bluesharehub.com" />
</body>
</html>
이 예제에서는 사용자를 지정된 URL(https://www.bluesharehub.com
)로 리다이렉트합니다. 특정 조건에 따라 사용자를 다른 페이지로 안내할 때 유용합니다.
▼ 실행 결과

결론
JSTL의 URL 처리 및 리다이렉트 태그를 사용하면 JSP 페이지에서 외부 콘텐츠를 동적으로 가져오거나, 사용자를 특정 페이지로 쉽게 리다이렉트할 수 있습니다. <c:import>
태그를 통해 외부 콘텐츠를 JSP 페이지에 포함시키고, <c:redirect>
태그로 사용자를 다른 URL로 리다이렉트하는 방법으로, 더 유연하고 동적인 웹 애플리케이션을 구축할 수 있습니다.
함께 보면 좋은 이전 게시글
- JSP에서 JSTL 표준 태그 라이브러리 설정 및 사용 방법
- JSP에서 JSTL 코어 태그로 조건문 처리: c:if, c:choose 태그
- JSP에서 JSTL 반복문 처리하기: c:forEach, c:forTokens 태그
- JSP에서 JSTL로 변수와 예외 처리: c:set, c:remove, c:catch 태그
- JSP EL(Expression Language) 활용하기: 기본 문법과 예제
이 글이 도움이 되셨다면 공유 부탁 드립니다.