JSP 3강 - 에러페이지 지정

Whatever·2022년 1월 3일
0

JSP

목록 보기
3/30

디렉티브 - 속성 3가지 <%@ %>
page / include / taglib(태그 라이브러리)

- EL / JSTL(오늘의 어흥)

스크립트 태그
선언문(<%! %>) / 스크립트릿(<% %>) / 표현식(<%= %>)
=> 스크립트릿, 표현식 많이 씀

JSP 내장객체 8개 중 중요한 4가지

request / response / session / out / exception

->session / request / out / application은 아무것도 하지 않아도
기본적으로 JSP 안에서 주어짐
-> exception은 isErrorPage="true"일 때만 사용가능

크롬이 열려있는 이상 session은 이미 시작된 것.
Jsession아이디가 자동으로 만들어짐

page디렉티브의 errorPage 속성

왜 오류가 났는지 알고싶을 떄 : exception 객체를 사용

JSP 기본객체

  • 웹 프로그래밍에 필요한 기능을 제공해주는 "기본객체"를 제공
  • JSP에서 별도 선언 없이 사용 가능
  • 주요 기본 객체
    request : 요청 정보를 구할 때 사용
    response : 응답 관련된 설정(헤더, 쿠키 등)시 사용
    application : 웹 어플리케이션에 대한 정보를 저장한다.
    out : JSP 페이지가 생성하는 결과를 출력할 때 사용되는 출력 스트림이다.
    session : 예외 객체. 에러 페이지에서만 사용된다.

page 디렉티브

contentType 속성 형식

에러페이지


request객체에 파라미터 목록이 들어감

page 디렉티브 (<%@ page) 의 errorPage 속성 => error가 발생 시 errorPage가 가리키는 페이지로 요청이 이동

1. 에러 페이지 지정 & 에러 페이지 작성

우선순위가 xml설정보다 더 높음

  • 에러 페이지 지정
    -<%@page errorPage = "예외발생시 보여질JSP지정"%>
  • 에러 페이지 작성
    -<%@ isErrorPage="true">

=> 많이 사용하지 않음

2. web.xml에서 에러페이지 설정하는 방법

web.xml
-> 톰캣 설정

톰캣이 시작할 때 메모리에 올라감

404오류 발생시 404.jsp로, 500오류 발생시 500.jsp로 이동

* 오류 페이지 처리 순서

우선순위1. page 디렉티브의 errorPage 속성 사용(전용 오류 처리)
우선순위2. web.xml 파일의 exception-type(범용 오류 처리)
우선순위3. web.xml 파일의 error-code(별도 오류 처리)
우선순위4. 우선순위1~3까지 아무것도 안했다면.. 웹컨테이너(tomcat)가 제공하는 기본 오류페이지를 보여줌.

buffer와 에러페이지


응답을 할 때 중국집과 고객 사이의 공간을 buffer라고 함.

  • 에러페이지는 버퍼가 플러시 되기 전에 처리되어야 함.
  1. 버퍼에 데이터가 다 찼음
  2. 버퍼에 쌓인 데이터를 전송하고 버퍼를 비움
  3. 계속해서 버퍼에 데이터 적재하는 도중 예외 발생
  4. 버퍼를 비우고 에러 페이지 이동
  5. 에러 페이지 내용을 버퍼에 저장
  6. 버퍼 플러시

    버퍼에 쌓였을 때 밑에 1/0의 예외를 발생시키면 버퍼가 끝나기 전에 errorPage의 경로의 페이지로 이동하고 아직 전송되지 않은 데이터는 손실된다.

0개의 댓글