JSP

신부경·2022년 10월 4일
0

JSP

목록 보기
2/4

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이면 하지 않음.

  • 중복 영역을 모듈화 하는 데 유용(tiles Framework)

<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지정"%>

  • 에러 페에지 작성
    <%@ page isErrorPage = "true"%>.

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 페이지 지정







profile
개발괴발

0개의 댓글