1. jsp.include
JSP액션 태그 중 하나로, 다른 JSP 페이지나 HTML 파일을 현재 JSP 페이지에 포함시키는 데 사용된다.
이 태그는 서버 측에서 처리되며, 페이지가 클라이언트에 전송되기 전에 포함된 내용이 현재 페이지에 삽입된다.
1️⃣ 문법 : 기본 문법
<jsp:include page="포함할_페이지_경로" />
2️⃣ 매개변수를 전달하는 경우
<jsp:include page="포함할_페이지_경로">
<jsp:param name="파라미터_이름" value="파라미터_값" />
</jsp:include>
3️⃣ 동작 방식
- 요청 시간에 동적으로 포함
jsp:include는 페이지가 요청될 때마다 포함된 페이지를 동적으로 삽입한다. - 별도의 요청과 응답 객체
포함된 페이지는 원래 페이지와 같은 request와 response 객체를 공유한다. - 컴파일 시점
각 페이지(포함하는 페이지와 포함되는 페이지)는 별도로 컴파일된다.
📌 jsp:include와 <%@ include %> 지시어의 차이점
특성 | jsp:include | <%@ include %> |
처리 시점 | 런타임 | 컴파일 시 |
동적/정적 | 동적 포함 | 정적 포함 |
변수 공유 | 불가능 | 가능 |
파일 변경 감지 | 자동 감지 | 재컴파일 필요 |
적합한 사용 케이스 | 동적 콘텐츠 | 정적콘텐츠, 공통 변수/메소드 |
💡장점
- 코드 재사용성
공통 요소(헤더, 푸터 등)를 별도 파일로 관리하여 재사용이 가능하다. - 모듈화
큰 페이지를 작은 구성 요소로 분리하여 관리 용이하다. - 유지보수 향상
공통부분 수정 시 한 곳만 변경하면 된다. - 동적 포함
런타임에 상황에 따라 다른 내용을 포함 가능하다.
💡 단점
- 약간의 성능 오버헤드
동적 포함으로 인한 미세한 처리 시간 증가한다. - 디버깅 복잡성
여러 파일에 걸친 로직 추적이 필요할 수 있다.
📌 주의사항
- 순환 참조 방지
A.jsp가 B.jsp를 포함하고, B.jsp가 다시 A.jsp를 포함하는 상황 피해야 한다. - 경로 지정
상대 경로 사용 시 주의 필요, 절대 경로 권장한다. - 버퍼 오버플로우
큰 페이지 포함 시 버퍼 크기 고려해야 한다. - 보안
사용자 입력을 통해 포함할 페이지를 결정할 경우 입력 검증이 필수이다.
🚀 성능 최적화
- 캐싱
자주 변경되지 않는 포함 페이지는 서버 측 캐싱을 고려해야 한다. - 적절한 사용
불필요한 중첩 포함을 피해야 한다. - 대안 고려
경우에 따라 프론트엔드 프레임워크나 서버 사이드 템플릿 엔진 사용을 검토한다.
[JSP]Include에 대해 알아보자.
웹 어플리케이션 프로그래밍 시 중복 또는 반복되는 소스를 최소화하고, 유지보수성를 간편화 시키며, 협업 시 공통된 틀을 준수 할 수 있도록 도와주는 기능에 대해서 알아보자.
velog.io
- 참고 : inung_92
jsp:include 사용하기 (파일 활용) [JSP 기초]
네이버, 구글, 쇼핑몰, 유튜브 어디를 보던 상단에 위치한 메뉴나 하단에 있는 카피라이트 표시, 도움말 등은 항상 같은 걸 확인할 수 있다. 매번 HTML파일에 메뉴와 하단안내를 붙여넣으면 만들
myvelop.tistory.com
- 참고 : myvelop
'에이콘아카데미 회고 > 5회차) 자바기반 풀스택 개발자 양성과정' 카테고리의 다른 글
JAVA, SQL) 51번째 회고 (0) | 2024.07.06 |
---|---|
CSS, JSP) 50번째 회고 (0) | 2024.07.06 |
Servlet, JSP) 48번째 회고 (0) | 2024.07.06 |
Servlet, JSP) 47번째 회고 (0) | 2024.07.04 |
Servlet, JSP) 46번째 회고 (0) | 2024.06.05 |