Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags more
Archives
Today
Total
관리 메뉴

David의 블로그

[JSP/Servlet] Custom Error페이지 만들기2 본문

프로그래밍/Jsp_Servlet

[JSP/Servlet] Custom Error페이지 만들기2

David 리 2023. 12. 2. 12:16

전시간에는 page 디렉티브 속성값을 이용하여 에러페이지 만드는 방법을 알아보았다.

https://78alswo.tistory.com/11

 

[JSP/Servlet] Custom Error페이지 만들기1

전에는 CustomException하는 방법을 공부 해 봤다. 이번시간은 실무에서 에러코드, 익셉션 타입에 맞게 에러페이지를 작성해 보도록 하겠다. 실제 실무에서는 에러가 나면 톰캣(WAS)에서 보여주는 화

78alswo.tistory.com

 

 

이번에는

web.xml error코드별로 에러페이지 등록하는 방법을 공부해 보겠다.

 

[ 2. web.xml error코드별로 에러페이지 등록방법. ]

JSP/Servlet은 에러 코드별로 사용할 에러 페이를 web.xml 파일에 지정할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
  <!-- 에러 코드별로 에러 페이지 지정하는 방식. -->
  <error-page>
      <error-code>404</error-code>
      <location>/error/error404.jsp</location>
  </error-page>
  
  <error-page>
      <error-code>500</error-code>
      <location>/error/error500.jsp</location>
  </error-page>
  
cs

<error-page>은 한 개의 에러 페이지를 지정할 수 있다.

만약 404, 500에러 코드에 대해 에러페이지를 지정하려면, 위에 소스처럼 사용하면 된다.

<error-code>는 어떤 에러코드인지, <location>는 지정한 에러코드가 났을 때, 사용할 JSP경로를 적어주면 된다.

 

 

[error/error404.jsp]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page contentType = "text/html; charset=utf-8" %>
<html>
<head><title>404 에러 발생</title></head>
<body>
<strong>요청한 페이지는 존재하지 않습니다:</strong>
<br><br>
주소를 올바르게 입력했는지 확인해보시기 바랍니다.
</body>
</html>
<!--
만약 에러 페이지의 길이가 512 바이트보다 작다면,
인터넷 익스플로러는 이 페이지가 출력하는 에러 페이지를 출력하지 않고
자체적으로 제공하는 'HTTP 오류 메시지' 화면을 출력한다.
인터넷 익스플로러에서도 에러 페이지 내용을 올바르게 출력하려면
응답 결과에 이 주석과 같은 내용을 포함시켜서
에러 데이터가 512 바이트를 넘도록 해야 한다.
-->
 
cs

error/error404.jsp의 내용은 이렇다.

 

 

[결과]

 

 

[error/error500.jsp]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page contentType = "text/html; charset=utf-8" %>
<html>
<head><title>에러 발생</title></head>
<body>
<strong>잠시 서비스에 문제가 발생했습니다:</strong>
<br><br>
 
</body>
</html>
<!--
만약 에러 페이지의 길이가 512 바이트보다 작다면,
인터넷 익스플로러는 이 페이지가 출력하는 에러 페이지를 출력하지 않고
자체적으로 제공하는 'HTTP 오류 메시지' 화면을 출력한다.
인터넷 익스플로러에서도 에러 페이지 내용을 올바르게 출력하려면
응답 결과에 이 주석과 같은 내용을 포함시켜서
에러 데이터가 512 바이트를 넘도록 해야 한다.
-->
 
cs

error/error500.jsp의 내용은 이렇다.

 

 

[결과]

URL요청을 readParameter2.jsp로 해주었는데,

전 시간에 했었던 readParameter.jsp와 동일한 소스인데,

page 디렉티브 설정만 없다.

 

이렇게

web.xml로 error코드별로 에러페이지 지정하는 방법을 알아보았다.