SlideShare a Scribd company logo
1 of 9
JSP 기본요소
제작자 : 쿠디(cooddy)
제작자 블로그
Tistory Blog : http://cooddy.tistory.com/
JSP 기본 요소
• JSP기본 요소
• 주석(Comment)
• 지시어(Directive)
• 스크립트 요소(Scripting Elements)
• 액션 태그(Action Tag)
• JSP 지시어(JSP Directive)
• 형식 : <%@ ... %>
• JSP 파일 내에서 JSP를 실행할 컨테이너에서 해당 페이지를 어떻게 처리할 것인가에 대한 설정 정보들을 지정
• JSP 지시어 종류
• page 지시어
• include 지시어
• taglib 지시어
• page 지시어
• 정의 : JSP 페이지에 대한 속성을 지정하는 지시어
• 형식 : <%@ page 속성1=“값1” 속성2=“값2” 속성3=“값3” ... %>
• 속성 = 스크립트 언어, impor할 패키지/클래스, 세션 사용 여부 등등 설정 정보를 지정
• 여러 속성을 하나의 page 지시어에 한 번에 지정도 가능
• import 속성을 제외한 나머지 속성은 하나의 페이지에서 오직 한 번씩만 지정 가능(import는 여러개 가능)
page 지시어 속성
• language 속성
• JSP 파일 내에서 사용될 스크립트 언어를 지정하는 속성
• 특별히 지정하지 않을 경우 JSP 컨테이너가 지원하는 기본 언어인 JAVA language 기본 속성으로 지정
• include 지시어 사용시
• includ될 페이지 language 속성 = includ할 페이지 language 속성(같아야 함)
• <%@ page language=“java” %>
• extends 속성
• JSP 파일은 JSP 컨테이너에서 실행되기 위해 파싱 과정을 거쳐 서블릿으로 변환되어야 함
(서블릿(Servlet) – Web Server에서 HTML형식 페이지를 생산하여 전송해 줄 수 있는 기술)
• extends 속성 : 서블릿 클래스로 변환되는 과정에서 상속할 부모 클래스를 지정하는 속성
• 보통은 JSP 컨테이너에서 자체적으로 알아서 처리하기에 개발자가 특별히 지정하는 경우는 많이 없음
• <%@ page extends=“javax.servlet.jsp.HttpJspBase”%>
• import 속성
• JAVA에서 사용하는 import 구문과 같은 의미를 가지는 속성
• JSP 페이지 내에서 사용할 패키지 또는 클래스를 import 하는데 사용
page 지시어 속성
• session 속성
• HTTP 프로토콜은 클라이언트로부터 요청이 들어오면 새로운 커넥션을 생성하여 요청에 대한 응답을 회신한 후
그 커넥션을 끊는 특징이 있음  “Stateless 특성”
• Stateless 특성으로 인해 커넥션을 매번생성하기 때문에 동일 클라이언트에 대한 정보를 유지할 수가 없음
• 다른 클라이언트와 현재 정보가 유지되어야 할 클라이언트를 구별하는 방법  세션 관리(Session Management)
• 세션 관리에 의해 클라이언트의 정보가 유지되도록 만들어진 가상의 커넥션(Virtual Connection)
 HTTP Session(HTTP 세션)
• JSP 내에서 이런 세션을 사용할 수 있도록 하는 설정  session 속성
• <%@ page session=“true” %>
• buffer 속성
• JSP 페이지가 서블릿으로 변환되어 응답을 생성해 클라이언트 전송 시 사용되는 버퍼의 크기를 지정하는 속성
• default 값은 8kb
• <%@ page buffer=“16kb”%>
• autoFlush 속성
• buffer 속성에서 지정한 버퍼가 다 채워졌을 경우 이를 어떻게 처리할 것인지 JSP 컨테이너에게 알려주는 속성
• default 값은 “true” : 버퍼가 다 채워지면 클라이언트에 전송하고 버퍼를 비움
• “false” : 버퍼가 다 채워졌을 경우에는 버퍼를 전송하는 것이 아닌 Exception을 발생
• <%@ page autoFlush=“true”%>
page 지시어 속성
• info 속성
• 해당 페이지 전체에 대한 주석의 역할을 하는 속성
• 개발자가 해당 페이지의 기능이나 특성을 설명해 놓을 때 활용
• <%@ page info=“이 페이지는 로그인 기능을 위해 만들어진 페이지 입니다.”%>
• errorPage 속성
• JSP 페이지를 처리하는 과정에서 예외(Exception)가 발생했을 때 해당 페이지에서 처리하지 않고 에러 페이지를
지정해 그 에러 페이지에서 예외를 처리하도록 할 때 사용하는 속성
• <%@ page errorPage=“error/error.jsp”%>
• contentType 속성
• JSP 페이지가 전송할 응답의 형태가 어떠한 MIME 형식으로 되어 있는지를 지정하는 속성
(MIME(Multipurpose Internet Mail Extension) – 인터넷을 통해 문서를 주고받을때 사용되는 문서 형식을 정의해
놓은 것)
• <%@ page contentType=“text/html” %>
• pageEncoding 속성
• JSP 페이지의 문자 셋 인코딩 방식을 지정할 때 사용하는 속성
• default 값 : ISO-8859-1 (북유럽 문자 셋 인코딩 방식, 한글을 처리할 수가 없음)
• <%@ page pageEncoding=“euc-kr”%>
include 지시어
• 특정한 JSP 파일 또는 HTML 파일을 해당 JSP 페이지에 삽입할 수 있도록 하는 기능을 제공
• 여러 JSP 페이지에서 공통되는 부분이 많을 경우 이러한 부분을 따로 파일로 만들어 include 지
시어로 삽입시 매번 같은 내용을 입력하지 않고도 간단하게 공통되는 부분을 포함 가능
• <%@ include file=“head.jsp”%>
• include 되는 파일들은 소스 코드 자체가 해당 JSP 페이지에 복사되어 더해지는 것
taglib 지시어
• JSTL(JSP Standard Tag Library)이나 커스텀 태그 등 태그 라이브러리를 JSP에서 사용시 접두사
를 지정하기 위해 사용
• taglib 속성
• uri 속성 : 태그 라이브러리에서 정의한 태그와 속성 정보를 저장한 TLD파일이 존재하는 위치를 지정
• prefix 속성 : 사용할 커스텀 태그의 네임스페이스를 지정
• <%@ taglib uri=http://taglib.com/sampleURI prefix=“samplePrefix” %>
JSP 스크립트 요소
• JSP 페이지 내에 자바의 코드를 삽입하기 위해 사용
• 선언문(Declarations)
• 스크립틀릿(Scriptlets)
• 표현식(Expressions)
• 선언문(Declarations)
• JSP 페이지에서 자바 코드에서 말하는 멤버 변수와 메소드를 선언하기 위해 사용
• 선언문을 사용해 선언된 변수는 멤버 변수로 인식되기 때문에 JSP 페이지의 어느 위치에서도 해당 변수 참조가
가능
• But, 스크립틀릿(Scriptlets) 요소에서 변수 선언시에는 멤버 변수가 아닌 지역 변수가 됨
• <%! ... %>
• 스크립틀릿(Scriptlet)
• HTML 코드로 된 부분은 일반 HTML 파일처럼 그대로 사용하고 자바 코드로 이뤄진 로직(Logic) 부분은
<% ... %>로 표현되는 스크립틀릿 태그를 사용하여 구분
• 표현식(Expression)
• 선언문 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 리턴값을 스크립틀릿 태그 외부에서 출력하기 위해 사
용되는 방법
• <%=변수 %>
• <%=리턴값이 있는 메소드 %>
Thank you!!

More Related Content

What's hot

Javascript 를 perl에서 mini-language 로 사용하기
Javascript 를 perl에서 mini-language 로 사용하기Javascript 를 perl에서 mini-language 로 사용하기
Javascript 를 perl에서 mini-language 로 사용하기HyunSeung Kim
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)DK Lee
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)연웅 조
 
비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2민태 김
 
Why javaScript?
Why javaScript?Why javaScript?
Why javaScript?Kim Hunmin
 
20 handler and_async_task
20 handler and_async_task20 handler and_async_task
20 handler and_async_task운용 최
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Jay Park
 
자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획DK Lee
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유NAVER SHOPPING
 
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기Gyutae Jo
 
테드폴허브(올챙이) PostgreSQL 디비 확장하기
테드폴허브(올챙이) PostgreSQL 디비 확장하기테드폴허브(올챙이) PostgreSQL 디비 확장하기
테드폴허브(올챙이) PostgreSQL 디비 확장하기cho hyun jong
 
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)DK Lee
 
Proxy, chain of responsibility, command pattern
Proxy, chain of responsibility, command patternProxy, chain of responsibility, command pattern
Proxy, chain of responsibility, command patternYoonJong Choi
 

What's hot (20)

2-2. html5
2-2. html52-2. html5
2-2. html5
 
Javascript 를 perl에서 mini-language 로 사용하기
Javascript 를 perl에서 mini-language 로 사용하기Javascript 를 perl에서 mini-language 로 사용하기
Javascript 를 perl에서 mini-language 로 사용하기
 
Sencha seo
Sencha seoSencha seo
Sencha seo
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)
 
DDD Start Ch#3
DDD Start Ch#3DDD Start Ch#3
DDD Start Ch#3
 
비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2
 
Why javaScript?
Why javaScript?Why javaScript?
Why javaScript?
 
20 handler and_async_task
20 handler and_async_task20 handler and_async_task
20 handler and_async_task
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발
 
자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
 
Javascript 101
Javascript 101Javascript 101
Javascript 101
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
 
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기[DevOn 2013] Backbone.js로 능동적  M-V 디자인 구현하기
[DevOn 2013] Backbone.js로 능동적 M-V 디자인 구현하기
 
테드폴허브(올챙이) PostgreSQL 디비 확장하기
테드폴허브(올챙이) PostgreSQL 디비 확장하기테드폴허브(올챙이) PostgreSQL 디비 확장하기
테드폴허브(올챙이) PostgreSQL 디비 확장하기
 
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
 
DDD Repository
DDD RepositoryDDD Repository
DDD Repository
 
Proxy, chain of responsibility, command pattern
Proxy, chain of responsibility, command patternProxy, chain of responsibility, command pattern
Proxy, chain of responsibility, command pattern
 

Similar to Jsp 기본요소

JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본Myungjin Lee
 
KSUG 스프링캠프 2017 발표자료
KSUG 스프링캠프 2017 발표자료KSUG 스프링캠프 2017 발표자료
KSUG 스프링캠프 2017 발표자료용근 권
 
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)NAVER D2
 
REST with Spring
REST with SpringREST with Spring
REST with Spring강우 김
 
[스프링 스터디 3일차] 데이터엑세스기술
[스프링 스터디 3일차] 데이터엑세스기술[스프링 스터디 3일차] 데이터엑세스기술
[스프링 스터디 3일차] 데이터엑세스기술AnselmKim
 
Ksug2015 - JPA2, JPA 기초와매핑
Ksug2015 - JPA2, JPA 기초와매핑Ksug2015 - JPA2, JPA 기초와매핑
Ksug2015 - JPA2, JPA 기초와매핑Younghan Kim
 
Java collections framework
Java collections frameworkJava collections framework
Java collections framework경주 전
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 
Restful web service
Restful web serviceRestful web service
Restful web servicesunguen lee
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Choonghyun Yang
 
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용정기 김
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기sung ki choi
 
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3plusperson
 
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)DK Lee
 
Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Minchul Jung
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육준일 엄
 

Similar to Jsp 기본요소 (20)

JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본JSP 프로그래밍 #04 JSP 의 기본
JSP 프로그래밍 #04 JSP 의 기본
 
4-1. javascript
4-1. javascript4-1. javascript
4-1. javascript
 
4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
KSUG 스프링캠프 2017 발표자료
KSUG 스프링캠프 2017 발표자료KSUG 스프링캠프 2017 발표자료
KSUG 스프링캠프 2017 발표자료
 
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
[D2 CAMPUS] tech meet up(Back-end) - 교내 웹서비스 개발 일지 (박은찬님)
 
REST with Spring
REST with SpringREST with Spring
REST with Spring
 
[스프링 스터디 3일차] 데이터엑세스기술
[스프링 스터디 3일차] 데이터엑세스기술[스프링 스터디 3일차] 데이터엑세스기술
[스프링 스터디 3일차] 데이터엑세스기술
 
Ksug2015 - JPA2, JPA 기초와매핑
Ksug2015 - JPA2, JPA 기초와매핑Ksug2015 - JPA2, JPA 기초와매핑
Ksug2015 - JPA2, JPA 기초와매핑
 
Java collections framework
Java collections frameworkJava collections framework
Java collections framework
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 
Restful web service
Restful web serviceRestful web service
Restful web service
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
 
스프링 배치
스프링 배치 스프링 배치
스프링 배치
 
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
 
Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육엄준일 04일차 HTML/Javascript 교육
엄준일 04일차 HTML/Javascript 교육
 

Jsp 기본요소

  • 1. JSP 기본요소 제작자 : 쿠디(cooddy) 제작자 블로그 Tistory Blog : http://cooddy.tistory.com/
  • 2. JSP 기본 요소 • JSP기본 요소 • 주석(Comment) • 지시어(Directive) • 스크립트 요소(Scripting Elements) • 액션 태그(Action Tag) • JSP 지시어(JSP Directive) • 형식 : <%@ ... %> • JSP 파일 내에서 JSP를 실행할 컨테이너에서 해당 페이지를 어떻게 처리할 것인가에 대한 설정 정보들을 지정 • JSP 지시어 종류 • page 지시어 • include 지시어 • taglib 지시어 • page 지시어 • 정의 : JSP 페이지에 대한 속성을 지정하는 지시어 • 형식 : <%@ page 속성1=“값1” 속성2=“값2” 속성3=“값3” ... %> • 속성 = 스크립트 언어, impor할 패키지/클래스, 세션 사용 여부 등등 설정 정보를 지정 • 여러 속성을 하나의 page 지시어에 한 번에 지정도 가능 • import 속성을 제외한 나머지 속성은 하나의 페이지에서 오직 한 번씩만 지정 가능(import는 여러개 가능)
  • 3. page 지시어 속성 • language 속성 • JSP 파일 내에서 사용될 스크립트 언어를 지정하는 속성 • 특별히 지정하지 않을 경우 JSP 컨테이너가 지원하는 기본 언어인 JAVA language 기본 속성으로 지정 • include 지시어 사용시 • includ될 페이지 language 속성 = includ할 페이지 language 속성(같아야 함) • <%@ page language=“java” %> • extends 속성 • JSP 파일은 JSP 컨테이너에서 실행되기 위해 파싱 과정을 거쳐 서블릿으로 변환되어야 함 (서블릿(Servlet) – Web Server에서 HTML형식 페이지를 생산하여 전송해 줄 수 있는 기술) • extends 속성 : 서블릿 클래스로 변환되는 과정에서 상속할 부모 클래스를 지정하는 속성 • 보통은 JSP 컨테이너에서 자체적으로 알아서 처리하기에 개발자가 특별히 지정하는 경우는 많이 없음 • <%@ page extends=“javax.servlet.jsp.HttpJspBase”%> • import 속성 • JAVA에서 사용하는 import 구문과 같은 의미를 가지는 속성 • JSP 페이지 내에서 사용할 패키지 또는 클래스를 import 하는데 사용
  • 4. page 지시어 속성 • session 속성 • HTTP 프로토콜은 클라이언트로부터 요청이 들어오면 새로운 커넥션을 생성하여 요청에 대한 응답을 회신한 후 그 커넥션을 끊는 특징이 있음  “Stateless 특성” • Stateless 특성으로 인해 커넥션을 매번생성하기 때문에 동일 클라이언트에 대한 정보를 유지할 수가 없음 • 다른 클라이언트와 현재 정보가 유지되어야 할 클라이언트를 구별하는 방법  세션 관리(Session Management) • 세션 관리에 의해 클라이언트의 정보가 유지되도록 만들어진 가상의 커넥션(Virtual Connection)  HTTP Session(HTTP 세션) • JSP 내에서 이런 세션을 사용할 수 있도록 하는 설정  session 속성 • <%@ page session=“true” %> • buffer 속성 • JSP 페이지가 서블릿으로 변환되어 응답을 생성해 클라이언트 전송 시 사용되는 버퍼의 크기를 지정하는 속성 • default 값은 8kb • <%@ page buffer=“16kb”%> • autoFlush 속성 • buffer 속성에서 지정한 버퍼가 다 채워졌을 경우 이를 어떻게 처리할 것인지 JSP 컨테이너에게 알려주는 속성 • default 값은 “true” : 버퍼가 다 채워지면 클라이언트에 전송하고 버퍼를 비움 • “false” : 버퍼가 다 채워졌을 경우에는 버퍼를 전송하는 것이 아닌 Exception을 발생 • <%@ page autoFlush=“true”%>
  • 5. page 지시어 속성 • info 속성 • 해당 페이지 전체에 대한 주석의 역할을 하는 속성 • 개발자가 해당 페이지의 기능이나 특성을 설명해 놓을 때 활용 • <%@ page info=“이 페이지는 로그인 기능을 위해 만들어진 페이지 입니다.”%> • errorPage 속성 • JSP 페이지를 처리하는 과정에서 예외(Exception)가 발생했을 때 해당 페이지에서 처리하지 않고 에러 페이지를 지정해 그 에러 페이지에서 예외를 처리하도록 할 때 사용하는 속성 • <%@ page errorPage=“error/error.jsp”%> • contentType 속성 • JSP 페이지가 전송할 응답의 형태가 어떠한 MIME 형식으로 되어 있는지를 지정하는 속성 (MIME(Multipurpose Internet Mail Extension) – 인터넷을 통해 문서를 주고받을때 사용되는 문서 형식을 정의해 놓은 것) • <%@ page contentType=“text/html” %> • pageEncoding 속성 • JSP 페이지의 문자 셋 인코딩 방식을 지정할 때 사용하는 속성 • default 값 : ISO-8859-1 (북유럽 문자 셋 인코딩 방식, 한글을 처리할 수가 없음) • <%@ page pageEncoding=“euc-kr”%>
  • 6. include 지시어 • 특정한 JSP 파일 또는 HTML 파일을 해당 JSP 페이지에 삽입할 수 있도록 하는 기능을 제공 • 여러 JSP 페이지에서 공통되는 부분이 많을 경우 이러한 부분을 따로 파일로 만들어 include 지 시어로 삽입시 매번 같은 내용을 입력하지 않고도 간단하게 공통되는 부분을 포함 가능 • <%@ include file=“head.jsp”%> • include 되는 파일들은 소스 코드 자체가 해당 JSP 페이지에 복사되어 더해지는 것
  • 7. taglib 지시어 • JSTL(JSP Standard Tag Library)이나 커스텀 태그 등 태그 라이브러리를 JSP에서 사용시 접두사 를 지정하기 위해 사용 • taglib 속성 • uri 속성 : 태그 라이브러리에서 정의한 태그와 속성 정보를 저장한 TLD파일이 존재하는 위치를 지정 • prefix 속성 : 사용할 커스텀 태그의 네임스페이스를 지정 • <%@ taglib uri=http://taglib.com/sampleURI prefix=“samplePrefix” %>
  • 8. JSP 스크립트 요소 • JSP 페이지 내에 자바의 코드를 삽입하기 위해 사용 • 선언문(Declarations) • 스크립틀릿(Scriptlets) • 표현식(Expressions) • 선언문(Declarations) • JSP 페이지에서 자바 코드에서 말하는 멤버 변수와 메소드를 선언하기 위해 사용 • 선언문을 사용해 선언된 변수는 멤버 변수로 인식되기 때문에 JSP 페이지의 어느 위치에서도 해당 변수 참조가 가능 • But, 스크립틀릿(Scriptlets) 요소에서 변수 선언시에는 멤버 변수가 아닌 지역 변수가 됨 • <%! ... %> • 스크립틀릿(Scriptlet) • HTML 코드로 된 부분은 일반 HTML 파일처럼 그대로 사용하고 자바 코드로 이뤄진 로직(Logic) 부분은 <% ... %>로 표현되는 스크립틀릿 태그를 사용하여 구분 • 표현식(Expression) • 선언문 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 리턴값을 스크립틀릿 태그 외부에서 출력하기 위해 사 용되는 방법 • <%=변수 %> • <%=리턴값이 있는 메소드 %>