[Kor]
JSP 코딩시 기본사용 요소들을 정리한 파워포인트 입니다.
JSP 지시어, 스크립트 요소 들에 대해서 간략하게 정리했습니다.
[EN]
This PowerPoint is Summary of JSP
Summary of JSP Directive and JSP Scripting Elements
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)
• 선언문 또는 스크립틀릿 태그에서 선언된 변수나 메소드의 리턴값을 스크립틀릿 태그 외부에서 출력하기 위해 사
용되는 방법
• <%=변수 %>
• <%=리턴값이 있는 메소드 %>