[Web][JSP] 에러 처리

포키·2023년 4월 26일
0

국비과정

목록 보기
54/73

jsp 코드에서 CheckedException인 IOException이 발생할 가능성이 있을 때에도 대비하지 않는 이유
(try ~ catch ... 사용x)

  • 서블릿 자바 파일 확인하면 우리가 작성한 스크립트가 service 메서드 안에 들어가있는 것을 확인할 수 있음
    IOException은 이곳에서 throws 됨

인터넷 익스플로러는 응답 데이터의 길이가 512바이트보다 작으면 http 오류 메시지 화면을 출력한다.
에러 페이지를 올바르게 출력하려면 주석 등을 통해 에러 데이터가 512바이트를 넘도록 해야 한다.


에러 처리

  • 에러 발생시의 문제점
  1. 사용자가 해당 페이지를 신뢰하지 않게 됨
  2. 보안 문제
  • 에러 페이지 지정을 통해 '예상하지 못한 에러 발생시의 문제'를 해결
    (준비되지 않은 페이지를 보여주지 않겠다는 의미. 에러를 해결하는 것이 아님!)

에러 페이지 지정하기

page 디렉티브 설정

  • errorPage : 에러 발생시 연결될 페이지를 지정
  • isErrorPage : 에러 페이지에서 Exception 사용할 수 있게 해줌.
    에러 페이지 지정 여부와는 관계없음

web.xml 설정

<web-app ...>
	...
    <error-page>
    	<error-code>404</error-code>
        <location>/error/error404.jsp</location>
    </error-page>
	...
</web-app>
  • <error-page> : web.xml에 에러페이지 관련 설정
  • <error-code> 에러 코드(응답 상태 코드) 지정
  • <exception-type> 예외 타입 지정
  • <location> 연결될 에러페이지 주소 지정

exception 기본객체

관련 메서드

  • getClass().getName() : 예외 클래스의 이름을 반환
  • getMessage() : 예외 클래스의 메시지를 반환

에러 페이지의 우선순위와 에러 페이지 지정 형태

p. 151

  • 우선순위 (왼쪽이 우선)
    page 디렉티브 지정 > 익셉션 타입별 지정 > 에러 코드별 지정 > 웹 컨테이너 기본형

버퍼와 에러페이지의 관계

p. 153

  • 해결방법 : 버퍼 크기 늘리기, 연산의 예외 처리 부분 첫 버퍼 범위 안에 넣기
profile
welcome

0개의 댓글