자바에서 예외처리를 사용하듯이 JSP에서는 예외페이지를 사용한다.
Tomcat에서 제공하는 예외페이지는 다소 딱딱한 느낌이 있어 보기 좋지않다.
예외발생
<%@ page errorPage="errorPage.jsp %> // 생성한 에러페이지로 가도록 page지시자로 처리
<% int i = 40/0; %> // 예외가 발생하면 ↑
예외 페이지
<%@ page isErrorPage="true" %> //isErrorPage로 예외페이지인지 판별 default는 false
<% response.setStatus(200); %>
//200은 정상적으로 완료된 페이지를 의미한다. 200으로 명시를 안하면 500으로 들어갈 때 가 있다.
<%= exception.getMessage() %>
//isErrorPage를 true로 명시해야만 사용 가능, 에러의 원인을 간단하게 출력해줌.
jsp파일 내에 page지시자를 주지 않고 web.xml에 기술하여 처리하는 방법
예제 코드
<error-page>
<error-code>404</error-code> //404에러 발생하면 error404.jsp로 이동
<location>/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code> //500에러 발생하면 error500.jsp로 이동
<location>/error500.jsp</location>
</error-page>
반복적인 작업을 효율적으로 하기 위해 사용하는 것이다.
자바의 데이터(속성)와 기능(메소드)로 이루어진 클래스다.
jsp페이지를 만들고, 액션태그를 이용하여 빈을 사용한다.
빈을 만든다는 것은 데이터 객체를 만들기 위한 클래스를 만드는 것이다.
데이터 객체에는 데이터에 해당하는 getter, setter가 존재한다.
Scope
<jsp:useBean id="student" class="com.javalec.ex.Student" scope="page"/>
//빈 이름 //클래스명(자바파일명) //스코프 범위
<jsp:setProperty name="student" property="name" value="홍길동"/>
//빈 이름 //속성 이름 //속성 값
<jsp:getProperty name="student" property="name" />
//빈 이름 //속성 이름