일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- anaconda
- Git
- 파이썬
- javascript
- form
- form태그
- androidstudio
- ibatis
- directivesTag
- eclipse
- mybatis
- select문
- error
- pl/sql
- PYTHON
- sqlMapClient
- Oracle
- spring
- DB 스케쥴러
- sqlMapConfig
- sql
- JSP
- pyqt
- pymssql
- 드라이브 연결
- pagination
- 비교표현식
- sqldeveloper
- java
- fastapi
- Today
- Total
기록하는 코더
[JSP] 디렉티브(Directives Tag) - Page 본문
이전에 썼던 디렉티브 태그를 이어서
[JSP] 디렉티브(Directives Tag) - Include
JSP의 태그 (스크립트 태그, 디렉티브 태그, 액션태그) 중 디렉티브 태그에 대해서 써보려고 한다. JSP 태그 스크립트 태그 디렉티브 태그 액션 태그 디렉티브 태그는 JSP 페이지를 어떻게 처리할
damdadi-dam.tistory.com
JSP 태그 | 스크립트 태그 |
디렉티브 태그 | |
액션 태그 |
디렉티브 태그의 종류 | |
Page 태그 | <%@ page ...%> |
Include 태그 | <%@ iclude ...%> |
taglib 태그 | <%@ taglib ...%> |
Page 태그는 JSP페이지에 대한 정보를 설정한다.
한글이 깨질 경우 page에서 인코딩 설정을 해줘야한다.
(default 설정은 'ISO-8859-1'이므로 한글 입력시 'UTF-8'로 변경해줘야함)
page 디렉티브 태그
- pageEncoding
- import
- session
- errorPage
- isErrorPage
- isELIgnored
page 태그로 session 설정을 바꿀 수 있다.
** session JSP 주요영역 (scope)
1. page
=> 같은 JSP 페이지 내에서 유지
내장객체 : page/Context
2. request
=> 하나의 요청 내 유지
내장객체 : request 공유
3. session
=> 동일한 웹 브라우저 내 유지
내장객체 : session
4. application
=> 웹 브라우저 내 유지
내장객체 : application
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.Date"%>
<%@ page session="true" %>
<!-- session="true" 기본(생략가능) / session="false" 세션객체를 사용안함 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Directives tag</title>
</head>
<body>
Today is <%=new Date() %>
<!-- import하지 않아도 경우 사용하려는 클래스 경로를 써주면 된다! -->
<%-- Today is <%=new java.util.Date() %> --%>
<%
// 세션 내장 객체의 now 이름 속성의 값으로 현재 시각을 넣어줌
session.setAttribute("now", new Date());
%>
</body>
</html>
<%@ page session="true" %>
session="true"는 기본설정이므로 생략가능
session="false"를 하면 로그인, 인증을 못하게 됨 (거의 사용x)
▶출력결과
page_import.jsp 페이지에서 setAttribute한 값을 다른 페이지에서 확인 가능하다.
error가 발생하면 설정해둔 errorPage로 넘길 수도 있다.
error_page
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page errorPage="page_errorPage_error.jsp" %>
<!-- 오류 발생 시 page디렉티브의 errorPage 속성의 값으로 설정된 오류처리 JSP를 요청 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Directives Tag</title>
</head>
<body>
<% // 스크립틀릿 -> 지역변수 선언
String str = null;
// 오류발생(null을 toString())
out.print(str.toString());
%>
<!-- 표현문 -> 지역변수에 할당된 데이터를 화면에 출력 -->
<%=str %>
</body>
</html>
null로 설정한 String을 출력해서 null point exception을 발생시켜 error 페이지를 확인한다.
☞ 이동할 error_page
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isErrorPage="true" %>
<!-- isErrorPage : 이 JSP페이지가 오류 페이지?
false : 오류페이지 아님
true : 오류페이지 맞음
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>서비스 문제 발생</title>
</head>
<body>
<!-- /img : WebContent / img 폴더 -->
<img src="/img/errorPage.jpg" alt="errorPage.jpg"/><br><br>
<!-- 오류 타입 -->
<%=exception.getClass().getName() %><br><br>
<!-- 오류 메시지 -->
<%=exception.getMessage() %><br><br>
<%
exception.printStackTrace(new java.io.PrintWriter(out));
%>
</body>
</html>
isErrorPage="true"로 설정해서 exception객체를 사용할 수 있다. (false일 경우 사용 불가)
( 개발자가 디버깅할 때만 사용하고 서비스에 보여지는 화면에선 사용하지 않는다.)
'JSP' 카테고리의 다른 글
[JSP] 회원가입창 만들기 (0) | 2022.12.29 |
---|---|
[JSP] request객체와 response 객체 (0) | 2022.12.28 |
[JSP] JSP Template 만들기 (0) | 2022.12.26 |
[JSP] 스크립트 태그 (0) | 2022.12.26 |
[JSP] 디렉티브(Directives Tag) - taglib (0) | 2022.12.26 |