1. 에러 페이지 (Error Page)란?
에러 페이지를 화면에 그대로 노출시키면 웹 서버 관련 정보 및 데이터베이스의 이름, 데이터명, 등 민감한 정보들이 화면에 노출되기 때문에 에러가 발생한 경우 별도로 뜨는 페이지를 제작한다.
에러코드 종류는: 저번에 정리한 링크를 걸겠다.
https://jackycode.tistory.com/68
HTTP 상태코드
4XX : Client error responses 400번대의 코드들은 클라이언트가 서버에게 보낸 요청이 잘못된 경우이다. 이 상태 코드를 보면 높은 확률로 프론트에서 문제 발생한거니 프론트를 혼내면 된다고 한다. 400
jackycode.tistory.com
2. 에러 페이지 제작
web.xml에 밑에 코드처럼 만든다.
location 태그에서 에러 페이지의 경로를 작성해줍니다.
그리고 <exception type> 는 exception의 종류를 잡아서 실행할 에러 페이지를 지정할 수도 있습니다.
<error-page>
<error-code>404</error-code>
<location>/error/error404.jsp</location>
</error-page>
<error-page>
<error-code>429</error-code>
<location>/error/error429.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/error500.jsp</location>
</error-page>
<error-page>
<error-code>502</error-code>
<location>/error/error502.jsp</location>
</error-page>
<error-page>
<error-code>508</error-code>
<location>/error/error508.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error/errorNullPointer.jsp</location>
</error-page>
화면에 보여줄 페이지를 작성한다.
예시로 404 에러페이지랑 500 에러 페이지를 작성해서 만들었다.
<%@ page contentType="text/html; charset=utf-8" %>
<html>
<head></head>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<style>
.clearfix:before,
.clearfix:after {
display: table;
content: ' ';
}
.clearfix:after {
clear: both;
}
body {
background: #f0f0f0 !important;
}
.page-404 .outer {
position: absolute;
top: 0;
display: table;
width: 100%;
height: 100%;
}
.page-404 .outer .middle {
display: table-cell;
vertical-align: middle;
}
.page-404 .outer .middle .inner {
width: 300px;
margin-right: auto;
margin-left: auto;
}
.page-404 .outer .middle .inner .inner-circle {
height: 300px;
border-radius: 50%;
background-color: #ffffff;
}
.page-404 .outer .middle .inner .inner-circle:hover i {
color: #39bbdb !important;
background-color: #f5f5f5;
box-shadow: 0 0 0 15px #39bbdb;
}
.page-404 .outer .middle .inner .inner-circle:hover span {
color: #39bbdb;
}
.page-404 .outer .middle .inner .inner-circle i {
font-size: 5em;
line-height: 1em;
float: right;
width: 1.6em;
height: 1.6em;
margin-top: -.7em;
margin-right: -.5em;
padding: 20px;
-webkit-transition: all .4s;
transition: all .4s;
text-align: center;
color: #f5f5f5 !important;
border-radius: 50%;
background-color: #39bbdb;
box-shadow: 0 0 0 15px #f0f0f0;
}
.page-404 .outer .middle .inner .inner-circle span {
font-size: 11em;
font-weight: 700;
line-height: 1.2em;
display: block;
-webkit-transition: all .4s;
transition: all .4s;
text-align: center;
color: #e0e0e0;
}
.page-404 .outer .middle .inner .inner-status {
font-size: 20px;
display: block;
margin-top: 20px;
margin-bottom: 5px;
text-align: center;
color: #39bbdb;
}
.page-404 .outer .middle .inner .inner-detail {
line-height: 1.4em;
display: block;
margin-bottom: 10px;
text-align: center;
color: #999999;
}
</style>
<body>
<div class="page-404">
<div class="outer">
<div class="middle">
<div class="inner">
<!--BEGIN CONTENT-->
<div class="inner-circle"><i class="fa fa-cogs"></i><span>404</span></div>
<span class="inner-status">PAGE NOT FOUND!</span>
<span class="inner-detail">We Couldn't Find This Page.</span>
<!--END CONTENT-->
</div>
</div>
</div>
</div>
</body>
</html>
일부러 경로에러를 뛰우는 순간 내가 만든 404 에러 페이지로 이동한다

500은 서버 문제므로 일부러 문제를 터트리면

이런식으로 화면을 출력시켰다.
오늘은 에러페이지를 출력하는 법을 알아봤다. 다음에 사이트를 만들 때 에러 페이지를 만들어 따로 관리하도록 해야겠다.
'JSP' 카테고리의 다른 글
| [JSP]Forward와 sendRedirect 사용해보기 (0) | 2022.09.19 |
|---|---|
| [jsp] scope활용해서 값넘겨보기 (0) | 2022.09.19 |
| 구구단 만들기 (0) | 2022.09.19 |
| What is Scope? (1) | 2022.09.16 |
| 액션 태그 실습 (0) | 2022.09.16 |
댓글