romworld

JSP 03 - 디렉티브 태그 본문

WEB/JSP

JSP 03 - 디렉티브 태그

inderrom 2022. 12. 23. 12:47

디렉티브 태그

▪ JSP 페이지를 어떻게 처리할 것인지를 설정하는 태그

▪ JSP 페이지가 서블릿 프로그램에서 서블릿 클래스로 변환할 때

• JSP 페이지와 관련된 정보를 JSP컨테이너에 지시하는 메시지

 



 contentType 속성

▪ 현재 JSP 페이지의 콘텐츠 유형(MIME-type)을 설정하는 데 사용

▪ 콘텐츠 유형 ==> text/html, text/xml, text/plain 등

기본 값은 text/html

▪ HTML을 출력하는 JSP 페이지는 contentType을 사용할 필요가 없음

// contentType

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
	<h2>contentType 디렉티브 태그</h2>
	<h4>text/html : 문자와 html 태그로 구성됨</h4>
	<h4>charset=UTF-8 : 문자 인코딩</h4>
	<h4>language="java" : 프로그래밍 언어는 java</h4>
</body>
</html>

import 속성

▪ 현재 JSP 페이지에서 사용할 자바 클래스를 설정하는 데 사용

▪ 둘 이상의 자바 클래스를 포함하는 경우 쉼표(,)로 구분하여 연속해서 여러 개 의 자바 클래스를 설정

▪ 또는 여러 개의 자바 클래스를 각각 별도로 설정할 수도 있음

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
	Today is <%=new Date() %>
</body>
</html>

 

 


 session 속성

▪ 현재 JSP 페이지의 HTTP 세션 사용 여부를 설정하는 데 사용

▪ 기본 값 : 세션을 자동으로 사용하는 true • 만약 session 속성 값을 false로 설정할 경우

                 − 해당 JSP 페이지에서 내장 객체인 session 변수를 사용할 수 없다는 의미이므로 해당 페이지에 대해 세션을                       유지 관리 할 수 없음

생략되어도 true
만약 session="false"로 하면 .을 눌러도 리스트가 나오지 않는다.


JSP 주요 영역(scope)

1. page : 같은 JSP 페이지 유지  - pageContext

2. request : 하나의 요청 내 유지 - request

3. session : 동일 웹 브라우저에서 유지 - session

4. application : 웹 브라우저에서 유지 - applicatein

 

*session의 경우*

크롬에서 네이버 로그인

웨일에서 네이버 로그인

--> 각자 다른 로그인을 하게 됨

 

 

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page session="true" %>
<!-- session="true" 기본(생략가능) / session="false" 세션객체를 사용 안함-->
<!DOCTYPE html>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
	Today is <%=new Date() %>
	<%
		// 세션 내장 객체의 now 이름 속성의 값으로 현재시각을 넣어줌
		session.setAttribute("now", new Date());
	%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
	<h2>contentType 디렉티브 태그</h2>
	<h4>text/html : 문자와 html 태그로 구성됨</h4>
	<h4>charset=UTF-8 : 문자 인코딩</h4>
	<h4>language="java" : 프로그래밍 언어는 java</h4>
	<h1> 현재시간 : <%=session.getAttribute("now") %></h1>
</body>
</html>

실행시켰을 때 --! 

크롬으로 킬 경우 ( 세션을 저장한 곳)

 

 

네이버 웨일로 킬 경우 (null)


errorPage 속성

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page errorPage="page_errorPage_error.jsp" %>
<!-- 오류 발생 시 page디렉티브의 errorPage 속성의 값으로 설정된 오류처리 JSP -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Directives Tag</title>
</head>
<body>
<%	// 스크립틀릿 --> 지역변수 선언
	String str = null;
	// 오류발생 (null을 toString())  (500 error)
	out.print(str.toString());
%>
<!--  표현문 : 지역변수에 할당된 데이터를 화면에 출력 -->
<%=str %>
</body>
</html>

<%@ page errorPage="page_errorPage_error.jsp" %>   : 오류가 났을 때 보여줄 jsp 경로를 적는다

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>서비스 문제 발생</title>
</head>
<body>
<!-- /images : WebContent -> images 폴더 -->
<img src="/images/error.jpg">
</body>
</html>

보여줄 오류 페이지 jsp

 

 


isErrorPage 속성

<%@ page isErrorPage="false" %>
<!--  isErrorPage : 이 JSP페이지가 오류 페이지인지 확인 
	 false : 오류페이지 아님
	 true : 오류페이지임
-->

디버깅 해볼 때 ( 실제로는 가리는 게 좋다)

 

<!-- 오류 타입 -->
<%=exception.getClass().getName() %>
<!-- 오류 메시지 -->
<%=exception.getMessage() %>

<%=exception.printStackTrace(new PrintWriter(out));

include 디렉티브 태그

▪ 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그

▪ 현재 JSP 페이지에 포함할 수 있는 외부 파일 • HTML, JSP, 텍스트 파일

▪ include 디렉티브 태그는 JSP 페이지 어디에서든 선언 가능

페이지의 header나 footer에서 같은 디자인을 중복해서 사용할 경우

사용하면 편리하다 !

 

<%@ include file="파일명" %>

 

 file 속성 값

• 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명

• 이때 외부 파일이 현재 JSP 페이지와 같은 디렉터리에 있으면 파일명만 설정하고,

• 그렇지 않으면 전체 URL(또는 상대 경로)을 설정

 

 

** <프로세스> **

실행중인 프로그램

cpu를 점유...

 

 

Comments