화면을 구성할 때는 여러가지 설정이 필요한 경우도 있고, 공통으로 처리하는 페이지가 필요할 때도 많다
공통 처리 내용에 대하여 따로 jsp를 선언하고 활용한다면 보다 효과적으로 변경/수정/추가시 처리가 가능하다
ex) 공통되는 화면처리, 공통되는 session 처리, 공통되는 java/js 변수 처리
jsp는 외부페이지를 모듈화하여 포함되어 처리할 수 있다.
jsp ==> java 라는 개념에 의해 두가지 방법으로 나뉜다.
1) 독립된 java 파일을 호출하여 처리하는 경우
<jsp:include> 액션 태그
다른 객체이기에 데이터를 전달할 때도 요청값 형식으로 전달한다.
ex) 파일1 ==> 따로 컴파일 ==> 컴파일된 파일2를 호출
파일2 ==> 따로 컴파일
2) 현재 페이지에 포함시켜 하나의 jsp로 만들어 처리하는 경우
<include 디렉티브>
같은 파일로 생각해서 변수를(위에서 아래로) 선언해서 사용한다.
ex) 파일1 ==> 함께 하나의 파일로 컴파일
파일2
그외 request의 forward 개념으로 현재 페이지를 호출하지만 요청값을 가지고
특정한 페이지로 이동처리하는 jsp의 액션태그인 jsp:forward가 있다.
현재 페이지가 가지고 있는 request, response와 함께 있는 데이터를 가지고 다음 페이지에 전송된다.
ex) 요청값, 쿠키값 등...
## main.jsp
<h2>include 액션 페이지 호출</h2>
<div style="border:1px solid green">
<jsp:include page="a02_subPage.jsp">
<jsp:param value="사과" name="name"/>
<jsp:param value="3000" name="price"/>
<jsp:param value="2" name="cnt"/>
</jsp:include>
</div>
## a02_subPage.jsp
<h2><%=request.getParameter("name")%></h2>
<h2><%=request.getParameter("price") %></h2>
<h2><%=request.getParameter("cnt")%></h2>