λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Basics/Develop

jsp μ•ˆμ— jsp, <jsp:include>κ°€ <%@ include>보닀 더 ꢌμž₯λ˜λŠ” 경우, 비ꡐ

by IworldT 2023. 1. 12.
λ°˜μ‘ν˜•

ν™”λ©΄ κ°œλ°œμ„ ν•˜λ‹€ 보면 ν•œ jsp νŒŒμΌμ„ λΆ„ν• ν•˜μ—¬ κ΄€λ¦¬ν•˜λŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€λ©΄ 전체 νŽ˜μ΄μ§€μ˜ jspμ—μ„œ 상단 λΆ€λΆ„λ§Œ λ‹€λ₯Έ jsp둜 μž‘μ„±ν•˜κ³  전체 νŽ˜μ΄μ§€μ˜ jsp μ•ˆμ— λ„£μ–΄μ£ΌλŠ” κ²½μš°κ°€ λŒ€ν‘œμ μ΄λΌκ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

보톡 ν™”λ©΄ λ ˆμ΄μ•„μ›ƒμ„ μž‘μ„ λ•Œ 많이 μ“°λŠ” λ°©λ²•μΈλ°μš”, jsp νŽ˜μ΄μ§€ μ•ˆμ— 또 λ‹€λ₯Έ jspλ₯Ό ν˜ΈμΆœν•˜μ—¬ λ„£μ–΄μ£ΌλŠ” λ°©μ‹μœΌλ‘œ ν•˜λ‚˜μ˜ ꡬ쑰λ₯Ό μ—¬λŸ¬ ν™”λ©΄μœΌλ‘œ μž¬μ‚¬μš©ν•  수 μžˆλ„λ‘ 도움과 λ™μ‹œμ—, jsp νŒŒμΌμ„ λͺ¨λ“ˆν™”ν•˜μ—¬ 관리할 수 μžˆμ–΄ μœ μ§€λ³΄μˆ˜μ—λ„ μš©μ΄ν•©λ‹ˆλ‹€.

jspμ•ˆμ— jspλ₯Ό ν¬ν•¨ν•˜λŠ” 방법 비ꡐ

include라고 ν•˜μ—¬ 보톡 두 가지 방법이 μžˆμŠ΅λ‹ˆλ‹€.

1. include action μ•‘μ…˜ 방법 <jsp:include page=""/> 

<jsp:include page="/WEB-INF/views/파일λͺ….jsp" />

μ†ŒμŠ€μ½”λ“œ μ€‘μ—μ„œ ν•΄λ‹Ή μ‹€ν–‰μ‹œμ μ΄ 뢈러질 λ•Œ νŒŒμΌμ„ κ°€μ Έμ™€μ„œ λ³΄μ—¬μ£ΌλŠ” μ•‘μ…˜ λ°©μ‹μž…λ‹ˆλ‹€.

좜λ ₯ κ²°κ³Ό 전체λ₯Ό 전체 νŽ˜μ΄μ§€ 쀑 ν˜ΈμΆœν•œ 뢀뢄에 λΌμ›Œλ„£μ–΄μ£ΌλŠ” ν˜•νƒœλ‘œ, ν΄λΌμ΄μ–ΈνŠΈ μΈ‘μ—μ„œ ν¬ν•¨μ‹œμΌœμ€€λ‹€κ³  μ΄ν•΄ν•˜μ‹œλ©΄ μ‰½μŠ΅λ‹ˆλ‹€.

 

2. include directive μ§€μ‹œμ–΄ 방법 <%@ include file="" %>

<%@ include file="/WEB-INF/views/파일λͺ….jsp" %>

ν•΄λ‹Ή μ†ŒμŠ€λ₯Ό ν¬ν•¨μ‹œμΌœ ν˜ΈμΆœν•œ 뒀에 μ»΄νŒŒμΌμ„ μ§„ν–‰ν•˜λŠ” μ§€μ‹œμ–΄ λ°©λ²•μž…λ‹ˆλ‹€.

μ„œλ²„ μΈ‘μ—μ„œ ν•΄λ‹Ή νŒŒμΌμ„ λ¨Όμ € λΆˆλŸ¬μ£ΌλŠ” ν˜•νƒœλΌκ³  μƒκ°ν•˜μ‹œλ©΄ λ‹€μŒ 문단을 μ΄ν•΄ν•˜κΈ°κ°€ μ‰¬μš°μ‹€ κ²ƒμž…λ‹ˆλ‹€.

 

include λ°©λ²•μ˜ 차이, jsp include μ•ˆλ  λ•Œ

<jsp:include page="/WEB-INF/views/파일λͺ….jsp" />
파일이 없어도 일단 νŽ˜μ΄μ§€κ°€ μˆ˜ν–‰μ΄ λ©λ‹ˆλ‹€.

<%@ include file="/WEB-INF/views/파일λͺ….jsp" %>
파일이 μ—†μœΌλ©΄ μ—λŸ¬κ°€ λ‚˜λ©΄μ„œ μˆ˜ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

두 방법 μ€‘μ—μ„œ 무엇이 더 λ‚˜μ€ 방법이닀, μ–΄λ–€ 것이 더 쒋은 방법이닀라고 μ„€λͺ…λ“œλ¦΄ μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€.

jsp:includeλŠ” 보톡 동적인 방법이라고 ν•΄μ„œ νŒŒμΌμ— λ³€ν™”κ°€ λ§Žκ±°λ‚˜ μœ λ™μ„±μ΄ 큰 κ²½μš°μ— μ΄μš©ν•˜μ‹œλŠ” 것이 λ°”λžŒμ§ν•˜μ§€λ§Œ, 또 λ³€μˆ˜λͺ…μ΄λ‚˜ νŒŒλΌλ―Έν„°λ₯Ό μ‚¬μš©ν•˜λŠ” 데에 어렀움이 μžˆμ„ 수 있기 λ•Œλ¬Έμ— λ•Œλ‘œλŠ” 정적 방식인 include file을 μ΄μš©ν•˜μ‹œλŠ” 것이 더 ꢌμž₯λ˜λŠ” κ²½μš°λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

ν•˜μ§€λ§Œ 포함할 파일이 λ™μ μœΌλ‘œ 생겼닀 μ‚¬λΌμ‘Œλ‹€ ν•œλ‹€κ±°λ‚˜ μœ λ™μ„±μ΄ 큰 파일이라면, 전체 νŽ˜μ΄μ§€λ₯Ό ν˜ΈμΆœν•  λ•Œ λ‚˜λ¨Έμ§€ 뢀뢄에 영ν–₯이 μ—†κ²Œ 일단 화면에 뿌렀질 수 μžˆλ„λ‘ ν•˜λ €λ©΄ μ•‘μ…˜ 방법을 μ‚¬μš©ν•˜μ‹œλŠ” 것이 더 λ‚«λ‹€κ³  λ§μ”€λ“œλ¦΄ 수 μžˆμŠ΅λ‹ˆλ‹€.

그렇지 μ•Šλ‹€λ©΄ ν•΄λ‹Ή includeν•  jsp파일이 μ—†λ‹€κ±°λ‚˜ λ¬Έμ œκ°€ λ°œμƒν–ˆλ‹€λŠ” 이유둜 전체 νŽ˜μ΄μ§€κ°€ ν˜ΈμΆœλ˜μ§€ μ•Šμ„ μœ„ν—˜μ„±μ΄ λ†’κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

 

λ¬Όλ‘  μ ˆλŒ€μ μœΌλ‘œ <jsp:include> νƒœκ·Έκ°€ 이미 더 많이 μ‚¬μš©λ˜κ³  μžˆκΈ°λŠ” ν•©λ‹ˆλ‹€. 

ν•˜μ§€λ§Œ 정적인 νŽ˜μ΄μ§€μΈμ§€ 동적인 νŽ˜μ΄μ§€μΈμ§€λ₯Ό 잘 νŒλ‹¨ν•˜κ³  μ μ ˆν•˜κ²Œ ν™œμš©ν•  수 μžˆλŠ” λŠ₯λ ₯도 μ€‘μš”ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  νƒœκ·Έμ—λŠ” μ΄μœ κ°€ μžˆμœΌλ‹ˆκΉŒμš”.

또, μ–΄λ–€ μ •λ³΄μ—μ„œλŠ” 동적인 방식이 νŽ˜μ΄μ§€ λ‘œλ”© μ‹œκ°„μ΄ 더 λŠλ¦¬λ‹€κ³  ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ νŽ˜μ΄μ§€ 호좜 및 ν™œμš© μ‹œμ μ—μ„œ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” κ²½μš°λ„ μžˆλŠ” 것 κ°™μ•„μš”.

μ°Έκ³ ν•˜μ…”μ„œ μ μ ˆν•œ νƒœκ·Έ ν™œμš©ν•˜μ‹€ 수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

728x90
λ°˜μ‘ν˜•

λŒ“κΈ€