A sentimental robot

My error page 본문

Web

My error page

GOD03219 2018. 10. 23. 20:29

HTTP 요청 발생 시 클라이언트 측과 서버측에서 다양한 에러가 날 가능성이 있다.

 

내 서버에 접속하려는 클라이언트들에게 기존의 에러페이지 대신 내가 만든 에러페이지를 보여주고 싶다면?

 

나는 이클립스 환경에서 나만의 에러 페이지를 만들어 보았다.

 

에러페이지를 만드는 방법은 두 가지가 있는데,

 

첫번째 방법은  지시어를 이용한 방법이다.

 

에러가 발생할 가능성이 있는 페이지 상단에 <%@ page errorPage="my404error.jsp" %>  써준다.

 

에러 발생 시 my404error.jsp 페이지를 보여주겠다!라는 뜻

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    <%@ page errorPage="my404error.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
 
<% i %> <!--  500 에러 -->
<% int j=9/0%> <!--  404 에러 -->
</body>
</html>
cs

 

그리고 my404error.jsp를 가보자.

 

<%@ page isErrorPage="true" %> 해당 페이지를 에러페이지로 설정하겠다.

<% response.setStatus(200); %>

응답코드를 200으로 설정해준다.

 

하지 않으면 에러 발생시 내가 만든 페이지가 안보이고 해당 에러 페이지가 보인다.

 

my404error.jsp의 출력결과를 그대로 보여주기 위해서 응답코드 지정해주기

 

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
32
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
    <%@ page isErrorPage="true" %>
    <% response.setStatus(200); %>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h1>내가 만든 에러페이지</h1>
 
<hr>
 
<h2> 404 에러 입니다!</h2>
<hr>
<div>
클라이언트 에러 응답<br>
404 Not Found<br>
서버는 요청받은 리소스를 찾을 수 없습니다. 
브라우저에서는 알려지지 않은 URL을 의미합니다. 
 
</div>
<%=exception.getMessage() %>
 
</center>
</body>
</html>
cs

 

두번째 방법은 web.xml에 에러페이지를 매핑해주는 것이다.

 

500번 에러 발생시 my500error.jsp를 띄우겠다!

 

1
2
3
4
5
6
7
<error-page>
 
        <error-code>500</error-code>
 
        <location>/my500error.jsp</location>
 
    </error-page>
cs

 

 my500error.jsp 파일도 my404error.jsp와 다를 것 없다. 단지 매핑 방법이 다를뿐이다~

 

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
32
33
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    
    <%@ page isErrorPage="true" %>
    <% response.setStatus(200); %>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h1> 500 에러 입니다!! 삐삐</h1>
<hr>
<div>
서버 오류<br>
 
 
 
500 Internal Server Error<br>
 서버에 오류가 발생해 작업을 수행할 수 없을 때 뜬다. <br>
 보통 설정이나 퍼미션 문제. <br>
 아니면 HTTP 요청을 통해 호출한 문서가 실제 HTML 문서가 아니라 JSP, PHP, 서블릿 등의 프로그램일 경우 그 프로그램이 동작하다 세미콜론 빼먹는 등의 <br>
 각종 에러로 비정상종료하는경우 이 응답코드를 보낸다.<br>
 
<%=exception.getMessage() %>
</div>
</center>
 
</body>
</html>
cs

'Web' 카테고리의 다른 글

간단한 웹 애플리케이션 [MODEL 1]  (0) 2018.11.14
eclipse에서 웹서버 구축하기  (0) 2018.10.23
jsp:forward  (0) 2018.10.23
회원가입 유효성 검사  (0) 2018.10.19
blockRightClick(),blockSelect()  (0) 2018.10.19