DAY30 OCT4
한 웹사이트를 구성하는 페이지들은 동일한 상단 메뉴와 좌측 메뉴 그리고
하단 푸터(footer)를 갖는 경우가 많다. <jsp:include>액션 태그와
include 디렉티브를 사용하면 이런 공통 화면을 모듈화해서 코드가 중복되는 것을 방지할 수 있다. 또한, <jsp:forward> 액션 태그를 이용하면 클라이언트의 요청 처리를 다른 JSP페이지에 전달할 수 있는데, 이를 통해 JSP의 요청 처리 흐름을 제어할 수 있다.
<jsp:include> 액션 태그
포함할 JSP 페이지의 ‘실행’결과를 현재 위치에 삽입
동작 방식
1.main jsp가 웹 브라우저의 요청을 받는다
2.[출력내용 A]를 출력 버퍼에 저장한다.
3.<jsp:include>가 실행되면 요청 흐름을 sub.jsp로 이동시킨다.
4.[출력내용 B]를 출력 버퍼에 저장한다.
5.sub.jsp의 실행이 끝나면 요청 흐름이 다시 main.jsp의 <jsp:include>로 돌아온다.
6.<jsp:include>이후 부분인 [출력내용C]를 출력 버퍼에 저장한다
7.출력 버퍼의 내용을 응답 데이터로 전송한다.
(구문) <jsp:include page= “포함할페이지” flush=“false”/>
-page 속성 : 포함할 jsp 페이지
-flush 속성: 지정한 jsp 페이지를 실행하기 전에 출력 버퍼를 플러시 할 지의
여부를 지정한다. true 이면 출력 버퍼를 플러시하고, false이면 하지 않음.
<jsp:param> 액션 태그의 동작 방식
-기존 파라미터는유지하고 파라미터를 새로 추가
(jsp: include 로 포함되는 페이지에서만 유효)
<include 디렉티브>
=코드 차원에서 포함(실행 안시키고 코드만 우선 합침)
(구문)<%@ include file = "포함할 파일"%>
-모든 jsp페이지에서 사용되는 변수 지정
-저작권 표시와 같은 간단하면서도 모든 페이지에서 중복되는 문장
<코드 조각 자동 포함 설정>
-> web.xml 파일에 설정
<jsp-config>
<jsp-property-group>
<url-pattern>/view/*</url-pattern>
<include-prelude>/common/variable.jspf</include-prelude>
<include-coda>/common/footer.jspf</include-coda>
</jsp-property-group>
</jsp-config>
![](https://velog.velcdn.com/images/tnscjs7866/post/9e5a7b31-75e9-4111-abe7-5961160687fc/image.png)
-> 위 각 태그의 의미
기본 객체의 속성을 이용해서 값 전달
웹페이지 이동 방법
1
2. <from action = "페이지이름 "
3.response.sendRedirect("페이지이름")
4.<jsp:forward page = "페이지이름">
5.
6.javascript:location.href = "페이지이름"
에러 처리는 어떻게 해야하는가~?
1.에러 페이지 지정 & 에러 페이지 작성
-에러 페이지 지정
<%@ page errorPage = "예외발생시보여질JSP지정"%>
2.응답 상태(404,500등) 코드 별 에러 페이지 지정
web.xml 파일에서 설정
<web-app ...>
...
<error-page>
<error-code>에러코드</error-code>
<location>에러페이지의 URI</location>
</error-page>
...
</web-app>
![](https://velog.velcdn.com/images/tnscjs7866/post/ba3a8fb0-b411-495c-8967-6262798bea43/image.png)
3.예외 타입 별 에러 페이지 지정
web.xml 파일에서 설정
<web-app ...>
...
<error-page>
<exception-type>예외클래스명</exception-type>
<location>에러페이지의 URI</location>
</error-page>
...
</web-app>
![](https://velog.velcdn.com/images/tnscjs7866/post/7b187988-9b5b-4755-a67d-71a37c39f02b/image.png)
<exception-type> : 예외 클래스의 완전한 이름
<location>: 해당 응답 상태 코드에 알맞은 에러 화면을 출력할 JSP 페이지 지정