JSP
221201 jsp error 예외 페이지
주영재
2022. 12. 1. 13:57
예외 페이지
예외 상황이 발생하면 웹 컨테이너(톰캣)에서 제공되는 기본적인 예외페이지가 보여짐
이때 프로그램 코드가 노출된다.
그래서 개발자가 따로 만들어 둔 에러 페이지로 유도시키는 것이 좋음
HTTP 주요 응답 상태 코드
404 : 요청한 URL을 찾을 수 없는 경우. 경로문제
500 : 서버측 내부 오류로 인해 페이지가 나타나지 않는 경우(java, JSP페이지내의 코드오류). 코드문제
400번대 에러는 클라이언트에서 잘못되었음을 의미함.
500번대 에러는 서버 측에서 잘못되었음을 의미함.
200 : 요청을 성공적으로 처리함. 성공 의미
307 : 임시로 페이지를 리다이렉트함
400 : 클라이언트의 요청이 잘못된 구문으로 작성됨
405 : 요청 방식을 허용하지 않음(GET, POST 등)
503 : 서버가 일시적으로 서비스를 제공할 수 없음(일시적 서버과부하, 서버 임시 보수 등)
처리방법은 하나만 확인
에러 처리방법 3
에러코드나 널포인트익셉션이 발생하면 에러페이지로 이동
코드를 외우지 말고 찾아서 쓸 줄 알면 됨
web.xml에
<!-- 에러처리 -->
<error-page>
<error-code>404</error-code>
<location>/errorpage/error_view.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/errorpage/error_view.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/errorpage/error_view.jsp</location>
</error-page>
넣으면 만들어놓은 페이지가 보임
자바코드에선 try catch구문 써도 됨
해석은 ~~한 코드가 발생하면 ~~페이지로 이동한다는 뜻
error가 포함된 구문
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String name=request.getParameter("name");
int a =name.length();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
request로 받아오는 값이 없다. nullpointexception 발생
error_view
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
.box{
height: 100vh;
display:flex;
align-items: center;
justify-content: center;
}
</style>
</head>
<body>
<div class="box">
<div>
요청한 페이지를 찾을 수 없음 <img alt="제목" src="/JSPBasic/HTML/1.jpg" width="100px">
</div>
</div>
</body>
</html>