본문 바로가기
Programming/JSP

[JSP] 예외 페이지

by 공부합시다홍아 2024. 5. 6.
 

[JSP] 쿠키와 세션 - 세션

[JSP] 쿠키와 세션 - 쿠키[JSP] 내장 객체[JSP] GET과 POST[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이란, 웹 어플리케이션을 구현하는 행위입니다. - 웹 어플리케이션

hong-study.tistory.com


💻예외 페이지

  • 예외 상황이 발생했을 경우
    웹 컨테이너(톰캣)에서 제공되는 기본적인 예외페이지가 보여진다.
  • 개발과정에서는 이러한 예외 페이지를 보고 어떤 에러가 발생했는지 알 수 있다.
  • 사용자에게 상용 서비스를 제공하는 도중 해당 페이지가 보여지면 사용자에게 불쾌감을 일으킬 수 있다.
  • 코드의 일부가 노출되어 보안 측면에도 좋지 않다.
  • 개발자가 따로 만들어 둔 에러 페이지로 유도하여 사용자에게 친숙한 화면을 보여준다.


에러 처리 방법 3가지

1. 직접 예외 처리하기

  • 자바의 키워드인 try ~ catch 구문을 사용하여 직접 개발자가 예외를 처리한다.

2. 에러를 처리할 페이지를 따로 지정하기

  • JSP는 실행 도중 예외가 발생할 때 톰켓 기본 에러화면 대신 개발자가 지정한 JSP 페이지를 보여줄 수 있는 기능 제공
  • 에러가 발생하면 보여줄 JSP 페이지는 페이지 지시자의 errorPage 속성을 사용하여 지정한다.
  • 예외가 발생할 것으로 예상되는 페이지에 예외가 발생했을 때 보여줄 페이지를 지정
// 예외가 발생할 것으로 예상되는 페이지에 예외가 발생했을 때 보여줄 페이지를 지정.
<%@ page errorPage="에러가발생했을 때 보여줄 페이지.jsp" %>
// 에러 발생시 유도된 페이지에는 페이지 지시자태그로 isErrorPage 속성을 사용하여 true로 값을 설정.
<%@ page isErrorPage="true" %>

- get500.jsp 코드(에러 유발 코드, 에러 발생 시 error_view로 넘어간다 선언)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page errorPage="error_view.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String aaa = (String)session.getAttribute("aaa");
		// aaa가 null이라서 에러
		aaa.charAt(0);
	%>
</body>
</html>

- error_view.jsp 코드(예외 페이지로 선언)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page isErrorPage="true" %> <!-- 예외 페이지 선언 -->

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		<b>예기치 못한 예외가 발생했습니다. 다시 시도하세요</b>
		<a href="../request/basic.jsp">홈으로</a>
	</div>
</body>
</html>

3. 응답 상태 코드별로 에러 페이지 지정하기

  • JSP는 에러 코드별로 사용할 에러 페이지를 Web.xml파일 수정을 통해 지정 할 수 있다.
  • 이렇게 지정한 에러페이지는 일반 JSP파일과 동일하게 작성하면 된다.

 


에러 페이지의 우선순위

에러 페이지를 여러 방법으로 지정한 경우 다음의 우선순위에 따라 사용할 에러 페이지를 선택한다.
1. 페이지 지시자 태그의 errorPage속성에 지정한 페이지
2. web.xml에 지정한 에러 타입에 따른 페이지
3. web.xml에 지정한 응답 상태 코드에 따른 페이지
4. 위 3항목에 해당하지 않을 경우 톰캣이 제공하는 에러 페이지
728x90

'Programming > JSP' 카테고리의 다른 글

[JSP] JDBC  (0) 2024.05.06
[JSP] Action Tag, 액션 태그  (0) 2024.05.06
[JSP] 쿠키와 세션 - 세션  (0) 2024.05.06
[JSP] 쿠키와 세션 - 쿠키  (0) 2024.05.06
[JSP] 내장 객체  (0) 2024.05.06