일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 니콘
- 일상
- 85mm f/1.8G
- AF-S 18-35mm
- 경치
- 푸초
- 하늘풍경
- 사진
- 50mm
- 여름성경학교
- 렌즈
- 푸른초장교회
- nikkor
- 출사
- Photo
- 85mm 1.8g
- 풍경
- 50mm f/1.8G
- D750
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- camera
- AF-S NIKKOR 50mm f/1.8G
- daily
- 꽃
- 카메라
- spring
- Nikon
- 18-35mm
- af-s 18-35
- AF-S NIKKOR 85mm f/1.8G
- Today
- Total
병갈이 블록
에러 페이지 처리. 본문
Error Page의 처리는 크게 3가지로 구분.
- try-catch문 (예외적으로 사용하기로 하고..)
- page 디렉티브에서 errorPage 지정.
- web.xml에서 지정.( 여기서 2가지 방법. error-code에 따라, exception-type에 따라 location에 errorpage 위치를 지정.)
동일한 Error에 따른 반응 우선순위.
1. page 디렉티브에서 errorPage 지정
2. web.xml에서 <exception-type>에 따른 <location>지정. (예외 발생의 종류에 따라. ex> NullPointerException 등등....)
3. web.xml에서 <error-code>에 따른 <location>지정. (에러페이지 코드에 따라. ex> 400, 404, 500 등등...)
page 디렉티브에서 errorPage 지정.
- 보여줄 jsp 페이지에서는 <%@ page errorPage="/error/thisiserrorPage.jsp">를 입력해서 에러페이지 경로를 지정.
- thisiserrorPage.jsp 페이지에서는 <%@ page isErrorPage="true">를 입력해서 이 페이지가 에러페이지임을 지정.
exception-type에 따른 error page 지정.
- WEB-INF폴더에 있는 web.xml에 <error-page>코드를 추가한다.(이미 있다면 입력 안해도 됨.)
- <error-page> 하위에 <exception-type>예외종류</exception-type>, <location>에러페이지경로</location>를 추가한다.
error-code에 따른 error page 지정.
- WEB-INF폴더에 있는 web.xml에 <error-page>코드를 추가한다.(이미 있다면 입력 안해도 됨.)
- <error-page> 하위에 <error-code>에러코드</error-code>, <location>에러페이지경로</location>를 추가한다.
에러 페이지와 buffer와의 관계.
우선 짚어볼것들.
- 헤더정보는 요청시 최초의 flush가 수행될때 함께 전송된다.
- 한번 전송된 헤더정보는 이후 변경사항이 적용되지 않는다.
- 최초의 헤더정보에는 에러코드도 포함되어 있다.
- 에러 발생시 즉각 버퍼를 비우고 에러페이지를 불러와 버퍼에 넣는다.
그렇다면, 최초 헤더정보가 전송된 상황에서 중간에 에러가 발생을 하면?
- 헤더에는 정상전송코드인 200이 그대로 저장되어 있다.
- 데이터를 전송하다가 에러가 발생하는 시점에서 데이터 적재를 중단하고 에러페이지는 버퍼에 넣어 전송한다.
- 정상적인 데이터가 전송된 순간까지만 페이지를 표시하고 이어서 에러페이지를 표시한다.
- 즉, 미완성된 요청페이지와 에러페이지가 뒤섞여 나타남.
해결방법은??
- 일단 책에서는 에러발생 전에 Flush되지 않도록 버퍼의 크기를 늘리라고 한다...음. 간단하구만.
'IT(Old) > JSP 공부 기록' 카테고리의 다른 글
<jsp:forward> (0) | 2017.06.20 |
---|---|
두가지의 include (0) | 2017.06.20 |
디렉티브 (0) | 2017.06.20 |
기본 객체. (0) | 2017.06.19 |
웹 어플리케이션에 대해서... (0) | 2017.06.19 |