- application 객체
- 웹어플리케이션 당 한개의 객체가 제공됨.
- 자원 접근 메서드
: getRealRath(String path) / String / 웹 내에서 지정한 경로에 해당하는 자원의
시스템상에서의 자원경로를 리턴.
: getReasource(String path) / URL / 웹 내에서 지정한 경로에 해당하는 자원에 접근할 수 있는
URL 객체를 리턴.
: getResourceAsStream(String path) / InputStream / 웹 내에서 지정한 경로에 해당하는 자원으로부터
읽어올 수 있는 InputStream을 리턴한다.
- 웹어플리케이션 jsp1 프로젝트의 모든 jsp는 하나의 application 객체를 공유.
📌
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp1/src/main/webapp/chap4/application1.jsp --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>application 객체</title>
</head>
<body>
<h3>application 객체는 웹어플리케이션 당 한개의 객체가 제공됩니다.<br>
현재 웹어플리케이션 jsp1 프로젝트의 모든 jsp는 하나의 application 객체를 공유합니다.</h3>
<table border="1" style="border-collapse : collapse;" >
<tr><td>jsp버전</td>
<td><%=application.getMajorVersion() %>.
<%=application.getMinorVersion() %></td></tr>
<tr><td>웹컨테이너 정보(WAS 서버 정보)</td>
<td><%=application.getServerInfo() %></td></tr>
<tr><td>웹어플리케이션 경로</td>
<td><%=application.getRealPath("/") %></td></tr>
</table>
<%
application.setAttribute("test","application1.jsp 페이지에서 appliaction 객체에 등록한 속성");
session.setAttribute("test","application1.jsp 페이지에서 session 객체에 등록한 속성");
%>
</body>
</html>
- error
- 에러페이지 작성
<%@ page isErrorPage = "true" %> : isErrorPage속성이 true인 경우 페이지로 지정
- exception 기본 객체: 발생한 예외 객체
exception.getMessage(): 예외 메세지
exception.printStackTrace(): 예외 추적 메세지 출력
- IE에서 예외가 올바르게 보여지려면 에러 페이지가 출력한 응답 데이터 크기가 513바이트보다 커야함.
에러페이지 우선순위
1. page디렉티브의 errorPage속성에서 지정한 에러 페이지를 보여준다.
2. jsp페이지에서 발생한 예외타입이 web.xml파일의 <exception-type>에서 지정한 예외타입과
동일한 경우 지정한 에러 페이지를 보여준다.
3. jsp페이지에서 발생한 에러코드가 web.xml파일의 <error-code>에서 지정한 에러코드와 동일한
경우 지정한 에러 페이지를 보여준다.
4. 아무것도 해당되지 않을 경우 웹 컨테이너가 제공하는 기본 에러페이지를 보여준다.
- 에러 페이지는 버퍼가 플러시 되기 전에 처리되어야 함
📌
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page isErrorPage="true" %>
<%-- /jsp2/src/main/webapp/error/error.jsp
isErrorPage="true" 속성 : 현재 페이지가 오류페이지.
exeption 객체를 제공.
--%>
<%-- 프로그램을 페이지가 여러개일때 일일히 에러파일을 넣을수없으므로 환경설정에 등록
--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>오류 페이지</title>
</head>
<body>
<h1>파라미터 name을 입력하세요</h1>
<h1>계속 오류 발생시 전산부로 전화 해 주십시요</h1>
<h1>담당자: 홍길동, 전화: 1234</h1>
<%=exception.getMessage() %>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp2/src/main/webapp/error/error404.jsp --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>요청 페이지 없음</title>
</head>
<body>
<h1>요청하신 페이지는 존재하지 않습니다.</h1>
<h2>URL 주소를 확인해 주세요</h2>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page errorPage="error.jsp" %>
<%-- /jsp2/src/main/webapp/error/errorForm1.jsp
page 지시어의 errorPage 속성 : 현재페이지에서 오류 발생하면 error.jsp 호출
--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>예외 발생 페이지</title>
</head>
<body>
<%= request.getParameter("name").trim() %>
</body>
</html>
'수업(국비지원) > JSP' 카테고리의 다른 글
| [JSP] EL(표현식),JSTL - EL(Expression Language) 표현언어 (0) | 2023.04.18 |
|---|---|
| [JSP] 내장 객체 - Exam 여행지 정보 예제(redirect, forward) (0) | 2023.04.18 |
| [JSP] 내장 객체 - session 내장 객체, session 예제 - 장바구니 (0) | 2023.04.18 |
| [JSP] 내장 객체 - 영역 담당 객체: PageContext 객체 (0) | 2023.04.18 |
| [JSP] 내장 객체 - out 내장 객체 (0) | 2023.04.18 |