Search

Directive (미완. 67p 중간에 속성있은거 부터 하쇼

[- Disclaimer -] 아래 내용은 정보보안 공부 목적으로 작성된 것이나, 이를 토대로 허가되지 않은 대상에 실습을 진행할 경우 해킹 시도로 간주하여 법적 처벌을 받을 수 있음을 알려 드립니다.
Directive (=지시자, 지시어)
<%@ [Directive 종류] [속성1]="값1" 속성2="값2" 속성3="값3" (...) %>
Plain Text
복사
page Directive 속성
info: 설명 language: Script 언어 Default=Java 언어 contentType: MIME Type pageEncoding: charset과 같은 Encoding 지정 Default=ISO-8859-1 import: java.lang에 속하지 않는 외부 Java Paackage, Class를 Import하기 위해 지정 session: Session 사용 여부 Default=true buffer: 출력 Buffer 크기 Default=8 KB autoFlush: 출력 Buffer 다 찰 경우 자동 Clear 여부 false 시 Buffer 다차면 Error 발생 buffer 속성 값이 none일 경우 false로 지정 시 Error 발생 Default=true trimDirectiveWhitespaces: Directive 공백 제거 여부 Default=false errorPage: Error Web Page 지정 isErrorPage: Error 처리 여부
Plain Text
복사
✦ Ex) language 속성, contentType 속성, pageEncoding 속성
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
Plain Text
복사
✦ Ex) import 속성
<%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.Date" %>
Plain Text
복사
✦ Ex) errorPage
// error.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="IsErrorPage.jsp"%> (...) Error명: <%= exception.getClass().getName() %><br /> Error Message: <%= exception.getMessage() %> (...)
Plain Text
복사
// test.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="error.jsp"%> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.Date" %> (...) <% int hello = Integer.parseInt(request.getParameter("hi")); %> // Error 발생 (...)
Plain Text
복사
// test.jsp 접근 및 출력 결과 Error명: java.lang.NumberFormatException Error Message: Cannot parse null string
Plain Text
복사
✦ Ex) trimDirectiveWhitespaces
✧ Web Browser 상에서 소스 코드 보기 시 맨 윗 줄의 공백 줄들이 사실 저 지시어들이 공백 치환 된 것임
✧ Android 등 외부 기기 간 연동 시 공백으로 인한 호환 문제 있을 수 있어 이와 같은 불필요한 공백 제거 시 사용
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %>
Plain Text
복사
✦ Ex) buffer
<%@ page buffer="10kb" %>
Plain Text
복사
<%@ page buffer="none" %>
Plain Text
복사
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" buffer="10kb" autoFlush="true"%> // autoFlush=true: Buffer 비우기 설정
Plain Text
복사
include Directive
<%@ include="testinclude.jsp" %>
Plain Text
복사
// testinclude.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% int a = 0; %>
Plain Text
복사
// test.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ include file="testinclude.jsp" %> <!DOCTYPE html5> <head> <meta charset="UTF-8"> <title>ㅇㅅㅇ</title> </head> <body> <% out.println(a); %> </body> </html>
Plain Text
복사
taglib Directive
✦ EL에서 Class 내 Method 호출 및 JSTL 사용을 위한 지시어