0925 JSP

yunha·2023년 9월 25일
0

JSP/Spring

목록 보기
3/36

디렉티브 태그 <%@... %>

JSP 페이지를 어떻게 처리할 것인지 설정하는 태그
=> 서블릿 프로그램 --(변환)--> 서블릿 클래스
=> JSP 페이지와 관련된 정보 -(지시)-> JSP 컨테이너
==> JSP 페이지 수정해 다시 컴파일 하는 경우에만 역할 수행, HTML 응답에 영향X

page : 인코딩 처리(페이지 정보 설정), 오류페이지로 이동(오류 처리)
include : 다른 문서를 해당 페이지 특정 영역에 넣고 싶을 때 => 타일즈로 대체
taglib : 페이지에서 사용할 태그 라이브러리 => c = core -> JSTL

page

: 현재 JSP 페이지에 대한 정보를 설정하는 태그
=> 페이지가 생성할 콘텐츠 유형의 문서, 사용할 자바 클래스, 오류 페이지 설정, 세션 사용 여부, 출력 버퍼 존재 유무 등

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
  • language 속성 : 현재 JSP 페이지에서 사용할 프로그래밍 언어 설정

  • contentType 속성 : 현재 JSP 페이지 콘텐츠 유형(MIME-type) 설정
    - text.html, text/xml, text/plain
    - 문자열 세트(charset)를 설정 => 전체 문자열 변경 가능

  • pageEncoding 속성 : 현재 JSP 페이지 문자 인코딩 유형 설정

  • importn 속성 : 현재 JSP 페이지에서 사용할 자바 클래스 설정, 둘 이상의 자바 클래스 포함하는 경우 쉼표로 구분하여 연속해서 설정 가능 또는 여러 개의 자바 클래스를 각각 별도로 설정하는 것도 가능

  • session 속성 : 현재 JSP 페이지의 HTTP 세션 사용 여부 설정. JSP 기본 객체 => true면 세션 자동 사용, false는 사용 안함(거의 없는 경우)
    - 사용 이유 : 일반적으로 웹 애플리케이션 실행되는 동안 사용자가 웹 어플리케이션의 데이터를 가져와 확인할 수 있는 권한을 부여받기 위해 사용. ex) 로그인하여 로그아웃할 때까지 모든 데이터에 접근 가능해야 함 => 세션 속성 : true!

  • buffer 속성 : 현재 JSP 페이지의 출력 버퍼 크기 설정(none => 출력 버퍼 채우지 않고 웹 브라우저로 직접 보냄 / '버퍼 크기' => 출력 버퍼에 먼저 기록한 후 웹 브라우저로 보냄-기본 8KB->32KB...). 설정하면 페이지가 완료되는 경우나 출력이 명확하게 되는 경우를 제외하고는 출력 버퍼에 출력 내용이 최소 양 누적될 때까지 웹 브라우저에 전송되지 않음!

    c -url 요청-> s : 해석한 html 응답시 버퍼 거쳐서 전달(정한 KB만큼 차면 / 해석 끝나면)

  • errorPage 속성 : 현재 JSP 페이지가 실행되는 동안 오류 발생 시 특정 오류 페이지로 이동하도록 설정

  • isErrorPage 속성 : 현재 JSP 페이지가 오류 페이지인지 여부 설정/ 기본값은 flase, 예외 처리를 위한 내장 객체인 exception 변수 사용 불가.
    - 속성 값 : true => 현재 JSP 페이지->오류 페이지

  • isELIgnored 속성 : 현재 JSP 페이지의 표현 언어(expression language) 사용 여부를 설정하는 데 사용.
    - 기본값 : false => ${} 표현 언어-표현식 사용 가능(false면 처리 X=>정적 텍스트 처리)

<%@ page errorPage="page_errorPage_error.jsp" %> => 오류 발생한 걸 던지는 곳
<!DOCTYPE html>
<html>
<head>
<title>디렉티브 태그</title>
</head>
<body>

	Today is : <%=new java.util.Date() %>
	<hr />
	Today is : <%=new Date() %>
	<hr />
	<%
		String str = null;
		out.print(str.toString()); ==> 프로그램 오류
	%>
</body>
</html>

-----------------------------------------------------
<%@ page isErrorPage="true" %> => 던진 오류 받겠다(오류 페이지임)
<!DOCTYPE html>
<html>
<head>
<title>서비스 문제 발생</title>
</head>
<body>
	<img src="/images/오류.png" />
</body>
</html>
-----------------------------------------------------
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page isELIgnored="true" %>
<html>
<head>
	<title>Directives Tag</title>
</head>
<body>
	<%
		request.setAttribute("RequestAttribute", "request 내장 객체");
	%>
	${requestScope.RequestAttribute}
</body>
</html>

include

: 현재 JSP 페이지의 특정 영역에 외부 파일(HTML, JSP, .text 등)의 내용을 포함하는 태그
: 모든 외부 파일을 포함하므로 외부 파일의 내용을 변경할 때마다 특정 외부 파일만 수정 편집하면 됨 => 웹 페이지 모듈화 => 코드 재사용 가능성 향상, 중복 코드 방지

<%@ include file="파일명"%>
파일명 : 포함할 내용을 가진 외부 파일명
현재 페이지와 같은 디렉 => 파일명만! / 아니면 전체 URL(또는 상대 경로)

taglib

: 현재 JSP 페이지에 표현 언어, JSTl, 사용자 정의 태그(custom tag)등 태그 라이브러리를 설정하는 태그

<%@ taglib uri="경로" prefix="태그 식별자"%>
uri : 사용자가 정의한 태그 설정 정보 가진 경로 주소, 태그가 서블릿 프로그램으로 번역될 때 JSP 컨테이너에 사용자가 정의한 태그 라이브러리 위치 알려줌
prefix : uri에 설정한, 사용자가 정의한 태그를 식별하기 위한 고유 이름. uri 그대로 사용할 경우 복잡할 것 대비해 대신 식별 가능하게 함

taglib prefix= c / fmt / fn / sec

profile
기록

0개의 댓글