■ JSP 구성요소
ο 디렉티브(지시어)
페이지에 대한 설정 정보 지정. 클래스의 속성을 변경
- page : 페이지에 대한 기본 정보 입력(생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등). 현재 문서를 나타내는 객체
- taglib : 태그 라이브러리(tag library). 사용자가 만든 태그 모음
- include : 다른 문서를 포함하는 기능
[사용 예]
(1) page directive
- 문서 타입 설정
<%@ page contentType = "text/html; charset=utf-8" %>
필수사항으로 jsp 파일의 문서 타입을 설정 한다.
- 자바 클래스 import
<%@ page import = "java.util.Calendar" %>
<%@ page import = "java.util.Date" %>
<%@ page import = "java.util.Calendar, java.util.Date" %>
<%@ page import = "java.util.*" %>
- errorPage : 실행 도중 에러 발생 시 보여줄 페이지 지정
<%@ page errorPage="error.jsp" %>
(2) include directive
<%@ include file="menu.jsp"%>
menu.jsp 파일의 내용(소스)을 현 위치에 복사(복사 -> 붙이기 개념)
ο 스크립트 요소
1) 스크립트 릿(Scriptlet)
JSP에 자바 코드를 기술
[형식]
<% 자바코드1; 자바코드2; 자바코드3; ... %>
[사용 예]
(1) 컴퓨터 시스템의 날짜 구하기
<%@ page import = "java.util.Calendar" %>
<%
String str=String.format("%tF", Calendar.getInstance());
%>
(2) select 객체에 1~12월 까지의 월 추가하기
<select name="month" onchange="changeMonth();">
<% for(int i=1; i<=12; i++) { %>
<option value="<%=i%>" <%=month==i?"selected='selected'":""%>><%=i%>월</option>
<% } %>
</select>
2) 표현식(Expression)
HTML 문서 결과 값에 포함시키고자 할 때 사용
[사용 예]
(1) 컴퓨터 시스템의 날짜 출력 하기
<%@ page import = "java.util.Calendar" %>
<%
String str=String.format("%tF", Calendar.getInstance());
%>
:
<body>
오늘은 <%=str%> 입니다.
</body>
(2) out(JspWriter 객체) 내장 객체를 이용한 출력
<%
out.println("오늘은 " + str + "입니다.");
%>
3) 선언 부(Declaration)
스크립트 릿 이나 표현식에서 사용할 수 있는 인스턴스 변수나 인스턴스 메소드 정의 시 사용
[형식]
<%! 자바_메소드정의 %>
<%! 자료형 변수명 [= 초기)값]; %>
[사용 예]
<%! int a = 0;%>
인스턴스 변수 a를 선언하고 0으로 초기화
<%!
public int sum(int n) {
int s=0;
for(int i=1; i<=n; i++) {
s+=i;
}
return s;
}
%>
ο JSP 주석
- 형식 : <%-- 주석내용 --%>
- 스크립트 릿 에서의 주석 : 『/* 주석내용 */』, 『// 주석내용』, 『/** 주석내용 */』
ο 표현 언어 (Expression Language; EL)
페이지 내부에서 사용되는 간단한 스크립트 언어
ο 기본 객체 (implicit object, 내장 객체)
- request : 요청 파라미터 읽어오기
- response : 응답 결과 전송하기
- session : 세션 처리하기. 공용 저장 공간
- application : 웹 어플리케이션 전체 공용 공간
- page : 페이지에 대한 정보 입력
ο 액션 태그와 커스텀 태그
- 액션 태그 : <jsp:include page="포함시킬 문서 경로" />
특정 문서를 현재 위치에 포함 시킨다.
- 커스텀 태그 : 개발자가 직접 개발. 중복되는 것들을 모듈화하며, 복잡한 소스를 간편화 시켜준다.
'JSP(Java Server Page)' 카테고리의 다른 글
서블릿에서 alert , html 사용하기 (0) | 2013.07.02 |
---|---|
JSP Life Cycle // init,service,destroy // 서블릿에서 자바스크립트 사용하기 (0) | 2013.07.02 |
request 객체 (0) | 2013.07.02 |
JSP/서블릿에서 데이터를 처리 하는 방식 ( GET / POST ) (0) | 2013.07.02 |
JSP 내장 객체 (0) | 2013.07.02 |