* JSP _Include
웹 페이지의 특정 부분을 여러 JSP 페이지에서 공유할 때 사용. (코드 재사용)
지시어 방식 / 액션 방식 두가지.
1. 지시어 방식 (<%@ include file="..." %>)
<%@ include file="경로/header.jsp" %> <!-- 정적 포함 -->
- 정적포함 : 컴파일 시점에 파일 내용이 현재 jsp 파일에 직접 삽입. (서버측 실행)
- 컴파일 시 처리 : 정적 포함이기 때문에 한 번 컴파일되면 변경사항이 반영되지 않음.
- 동일 스코프 공유 : jsp 페이지가 병합되어 모든 변수가 같은 jsp 파일 안에 있는 것처럼 동작.
- 처리 속도 : 한 번 컴파일된 jsp는 실행 속도가 빠름.
2. 액션 방식 (<jsp:include page="..." />)
<jsp:include page="경로/header.jsp" /> <!-- 동적 포함 -->
- 동적포함 : 페이지가 실행될 때마다 다시 읽고 포함. (클라이언트측 실행)
- 실행 시 처리 : 클라이언트 요청에 의해 페이지가 실행될 때마다 파일을 다시 로드하여 포함. 변경사항 즉시반영.
- 별도의 스코프 : 현재 jsp 페이지와 별도의 스코프를 가지며, 각 파일에서 서로의 변수에 접근 불가.
- 상호작용 : 파라미터를 전달하여 포함된 페이지에 값을 넘길 수 있음. (동적 데이터)
( index.jsp )
<html>
<body>
<h1>Main Page</h1>
<jsp:include page="greeting.jsp">
<jsp:param name="username" value="JohnDoe" />
<jsp:param name="message" value="Welcome to our website!" />
</jsp:include>
</body>
</html>
( greeting.jsp )
<h2>Greeting</h2>
<p>Hello, <%= request.getParameter("username") %>!</p>
<p><%= request.getParameter("message") %></p>
1. index.jsp 페이지 요청 & 실행.
2. greeting.jsp 파일을 읽어와 포함. 이 때 index.jsp의 param 값이 함께 전달.
3. greeting.jsp 실행. 전달받은 param값에 대한 결과 반영.
4. 최종 결과가 index.jsp 페이지에 포함되어 반환.
https://velog.io/@ung6860/include-%EC%9D%B4%EC%9A%A9
'Java > 공부공부' 카테고리의 다른 글
[JAVA] objectMapper, modelMapper (0) | 2024.10.25 |
---|---|
[JAVA] 리플렉션 (Relection) (0) | 2024.10.25 |
[JAVA/JPA] CompletableFuture 자바 비동기 처리 (멀티스레드) (0) | 2024.10.16 |
[Java] 자바 HTTP통신 (HttpURLConnection) (0) | 2024.09.25 |
[Java] 자바 HTTP 통신_GET요청 (RestTemplate) (0) | 2024.07.28 |