예외 페이지

리무 rimu ·2023년 6월 22일
0

Co.

목록 보기
16/43

예외 페이지의 필요성

java언어에서도 예외처리가 있었음
JSP, Servlet에서도 예외가 발생할 수 있음

  • 예외적인 상황이 발생했을 경우 웹컨테이너(Tomcat)에서 제공되는 기본적인 예외페이지가 보여진다면 사용자로 하여금 뭔가 불쾌한 느낌이 들면서, 다시는 해당 사이트에 접속하려고 하지 않을거임
    -> 따라서 약간은 다소 딱딱한 에러 페이지를 보다 친근한 느낌이 느껴지는 페이지로 유도 할 수 있음

page 지시자를 이용한 예외처리

예외발생!!

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page errorPage = "errorPage.jsp" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	// 여기서 예외가 발생!!
	<%
		int i = 40/0;
	%>

</body>
</html>

page 지시자 사용하려면 errorPage.jsp 파일 만들어야 함!! (예외페이지 작성)

errorPage.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
// 에러페이지가 맞습니까? 디폴트값이 false기 때문에 true 설정 필수!
<%@ page isErrorPage = "true" %> 
// 500 오류로 설정되는 경우가 있기 때문에 정상페이지라고 명시해줌
<% response.setStatus(200); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	예외 페이지 입니다 ^-^<br/>
    // true로 하면 exception객체 사용가능
	<%
		exception.getMessage(); 
	%>
</body>
</html>

500에러는 연산이 잘못됐을 경우 발생!
200은 정상페이지를 나타냄

결과

web.xml 파일을 이용한 예외처리

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>error</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <error-page>
  	<error-code>404</error-code>
  	<location>/error404.jsp</location>
  </error-page>
  <error-page>
  	<error-code>500</error-code>
  	<location>/error500.jsp</location>
  </error-page>
</web-app>

404에러 : 페이지를 찾을 수 없을 때 뜨는 오류!

info.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%> 
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<%
		int i = 40/0;
	%>
</body>
</html>

e500.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<% response.setStatus(200); %>     
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
여기는 500에러 페이지 입ㄴ ㅣ ㄷ ㅏ ^00^
</body>
</html>

연산을 잘못해서 500 에러 뜨는겨~

info.jsp / 존재하지 않는 jsp 파일을 링크로 넣은 경우 404 에러가 발생!

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%> 
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<a href = "error03.jsp">go error03.jsp</a>
</body>
</html>

e404.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<% response.setStatus(200); %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
여기는 404에러 페이지 입ㄴㅣㄷ ㅏ ^0^
</body>
</html>

링크를 누르면 에러메세지가 잘 출력된다 !!

profile
JAVA / SQL / Spring 을 공부하고 있습니다 🐥

0개의 댓글