스크립트 요소란 기계어로의 변환 작업을 생략하여 간단히 실행 할 수 있도록 한 간이 프로그램 코드를 말하는데 JSP에서 스크립트란 HTML 문서내에 작성하여 자바의 문법을 사용하면서 HTML 문서를 동적으로 만들 수 있는 기술을 말한다.
서블릿은 자바의 프로그래밍 방법을 그대로 따라가고 main() 메소드로 실행되는 반면, init() 메소드 doGet() 메소드 등 서블릿 컨테이너가 소스 코드를 불러들여 실행할 수 있게 서블릿 컨테이너에 맞게 프로그램을 작성해야하며, 배우는 데 시간이 오래 걸리며, 복잡하고, 수정하기 어려운 단점이 있다. 이에 JSP를 발표했는데 JSP는 HTML 문서에 그대로 프로그램 코드를 작성하여 처리하기 때문에 개발시 쉽게 개발할 수 있는 장점이 있다.
■ 일반적인 HTML 문서
<head></head>
<body>
안녕하세요!
</body>
</html>
위와 같은 HTML 문서에 프로그램 코드를 넣기 위해서는 JSP 페이지를 작성해하는데 JSP페이지는 확장자를 *.jsp로 가지면 위치는 웹 컨테이너에 배포용 디렉토리에 위치해야 한다.
■ JSP 문서
JSP 문서를 작성할 때는 확장자를 jsp로 주면 문서 선언을 해주어야 한다. 또한, 프로그램 코드는 페이지 안에 스크립트 태그를 사용해 감싸야 하며 스크립트 엘레멘트는 시작태그와 종료태그를 가지고 있다. JSP 문서는 다음과 같은 형식을 취한다.
<%@ page contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<% // 프로그램 코드
String hello = " 안녕하세요 "
%>
<html>
<head>
<title>JSP 스크립트 요소 테스트</title>
</head>
<body>
스크립트 요소를 사용한 값 출력 : <%=hello%>
</body>
</html>
위와 같이 스크립트 엘레멘트로 감싸고 자바 코드를 사용하여 프로그램 로직을 작성한다. '<%' 는 시작태그로 시작태그로 시작되는 부분부터 자바 코드임을 나타낸다. 서블릿으로 변환될 때 이 부분이 프로그램의 로직이 된다. '%>' 는 종료태그로 시작태그와 종료태그로 프로그램의 로직과 자바 코드와 HTML 태그를 구분한다. 자바 코드는 스크립트 엘레멘트 안에 위치해야 한다.
※ 프로그램 코드 작성시 스크립트 엘레멘트로 감싸야 한다.
<%
......
자바 코드 or JSP 코드
......
%>
■ JSP 스크립트 엘레멘트 종류
- 선언문(Declaration) : 선언문은 '<%!' 로 시작하여 '%>'로 종료한다. 선언문 안에 있는 코드는 전역변수 또는 메소드로 해석된다. 하지만 선언문을 사용하는 경우는 거의 없다.
- 디렉티브(Directive) : 디렉티브 엘레멘트는 '<%@'로 시작하여 '%>'로 종료한다. 디렉티브 엘레멘트는 페이지으 설정 정보를 기록하며, page, include, taglib 등의 정보를 나타낼 때 사용한다.
- 스크립트릿(Scriptlet) : 일반적으로 가장 많이 사용하는 태그로 '<%'로 시작해 '%>'로 종료된다. JSP에서 프로그램 코드를 기술할 때 사용한다.
- 표현식(Expresion) : '<%='로 시작해 '%>'로 종료되며 화면에 출력할 내용을 기술할 때 사용한다. 표현식은 JSP가 서블릿으로 변환될 때 서블릿의 out.println() 메소드로 파싱된다. 일반적으로 값이 할당된 변수를 HTML 페이지에 삽입할 때 사용한다.
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
출력 스트림 out 객체(javax.servlet.jsp.JspWriter) (0) | 2009.08.26 |
---|---|
JSP 변수 선언 (0) | 2009.08.25 |
JSP 페이지에 URL 접근 거부 걸기 (0) | 2009.08.10 |
표현언어(Expression Language) (0) | 2009.08.07 |
페이지 파라미터 확인 후 null 일때 기본값 지정하기 (0) | 2009.08.05 |