본문 바로가기

JSP/JSP Programming

[JSP] JSP 페이지의 스크립트 요소

반응형

■ 스크립트

 -. JSP 문서는 확장자가 *.jsp 로 저장된 파일을 의미하며 이는 웹 서버에 의해 컴파일 된다.

 -. JSP 문서는 단순히 JSP 태그로만 구성되지 않고, HTML 태그와 함께 사용된다.

 -. 자바 스크립트와 같은 클라이언트 측 스크립트도 함께 사용한다.


종 류

 사용용도

 형 식

 선언(declaration)

 변수와 메소드를 선언

<%!     %>

 식(expression)

 계산식, 함수 호출 결과를 문자열 형태로 출력

<%=    %>

 스크립트릿(scriptlet)

 자바 코드 기술

<%      %>




① 선언부

 -. 선언부(Declaration)는 JSP 페이지에서 사용되는 변수나 메소드를 정의하기 위해서 사용된다.

 -. 선언부에서 선언한 변수나 메소드들은 JSP 페이지가 초기화될 때 초기화되어서

     페이지 내의 어떠한 스크립트릿이나 표현식에서도 접근해서 사용할 수 있다.


<%! declaration(s) %>

 선언부를 의미하는 태그는 <%!  %>로 표현되며

 이 태그 안에 변수를 선언하거나 메소드를 정의한다.



# 선언부에 변수 선언과 메소드를 정의하기

  dec.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>선언부에 변수 선언과 메소드를 정의하기</title>
</head>
<body>
<center>
<h3>[  선언부(declaration)에 대한 예제  ]</h3>
</center>
<hr/>
<%!
    // 선언부에서 선언한 변수나 메소드들은 JSP 페이지가 초기화도리 때 초기화되어서
    // 페이지 내의 어떠한 스크립트릿이나 표현식에서도 접근해서 사용할 수 있다.

   
    // ① 변수의 선언
    String str = "안녕하세요!";
    int a = 5;
    int b = -5;
   
    // ② 메소드의 선언
    public int abs(int n) {
       
        if (n < 0) {
           
            n = -n;
        }
       
        return n;
    }
%>
<%
    // 선언부에서 선언한 변수와 메서드를 스크립트릿 에서 사용할 수 있다.
    out.println(str + "<br/>");
    out.println(a + "의 절대값은 => " + abs(a) + "<br/>");
    out.println(b + "의 절대값은 => " + abs(b) + "<br/>");
%>
</body>
</html>

 출력결과




② 표현식

 -. 표현식(expression)으로 변수의 값이나 계산식 혹은 함수를 호출한 결과를 문자열 형태로 웹 문서에 출력한다.

 -. 표현식을 사용하기 위해서는 <%=   %> 태그를 사용한다.

 -. 표현식은 클라이언트의 요청이 처리도는 동안에 실행

 -. 결과를 String 타입으로 변환해서 out 객체를 통해서 클라이언트에게 전달된다.

    ※ 결과가 String 타입으로 변환할 수 없는 경우에는 ClassCastException 예외가 발생한다.

    ※ 표현식을 사용할 때 세미콜론(;)을 기술하지 말아야 한다는 점에 유의하여야 한다.


 <%= expression %>

 <%= 와 %> 태그 사이에 출력하고자 하는 변수나 계산식, 함수 등을 기술한다.



# 표현식을 사용하여 변수의 값을 출력하기

expr01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>표현식을 사용하여 변수의 값을 출력하기</title>
</head>
<body>
<center>
<h3>[  표현식(expression)에 관한 예제  ]</h3>
</center>
<hr/>
<%!
    // ① 변수의 선언
    String str = "안녕하세요!";
    int a = 5;
    int b = -5;
   
    // ② 메소드의 선언
    public int abs(int n) {
       
        if (n < 0) {
           
            n = -n;
        }
       
        return n;
    }
%>

<%= str %><br/>
<%= a %>의 절대값은 => <%= abs(a) %><br/>
<%= b %>의 절대값은 => <%= abs(b) %>
</body>
</html>

 출력화면




③ 스크립트릿

 -. JSP 페이지에서 가장 많이 사용되는 스크립트 요소가 바로 스크립트릿이다.

 -. 스크립트릿은 JSP 페이지에 자바 코드를 기술하기 위해 만들어진 태그로서 자바에서 지원되는 모든 문장을 기술 할 수 있다.

     (주석문, 제어문, 반복문, 객체 생성, 메소드 호출 등)

 -. 스크립트릿에서도 변수를 선언하여 사용할 수 있는데 선언부에서 선언한 변수가 전역 변수로서의 역할을 한다면

    스크립트릿에서 선언한 변수는 지역변수로서의 역할을 한다.

 -. 스크립트릿에 포함된 자바 코드들은 클라이언트의 요청이 처리되는 동안에 JSP 컨테이너에 의해 분석되어 실행하게 된다.

 -. 스크립트릿은 서블릿을 생성할 때 JSP 페이지에 기술된 순서대로 결합되기 때문에 JSP 페이지를 작성할 때는 순서에 유의해야 한다.


<% scriptlet %>

 <%와 %> 태그 사이에 자바 언어의 문법에 맞는 문장을 기술한다.



# 스크립트릿을 이용해 5번 출력하기

  scriptlet01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>스크립트릿을 이용해서 안녕하세요! 5번 출력하기</title>
</head>
<body>
<center>
<h3>[  스크립트릿(scriptlet)에 관한 예제  ]</h3>
</center>
<hr/>
<% for (int i = 0; i < 5; i++) { %>
    안녕하세요!<br/>
<% } %>
<hr/>
</body>
</html>

 출력화면



반응형

'JSP > JSP Programming' 카테고리의 다른 글

[JSP] request와 response 객체의 개념 이해  (0) 2012.06.01
[JSP] HTML 주석문과 JSP 주석문의 차이  (0) 2012.06.01
[JSP] 지시자  (0) 2012.05.30
[JSP] JSP 동작 원리  (0) 2012.05.30
[JSP] JSP 기본 태그의 종류  (0) 2012.05.30