스크립트의 3요소
JSP에서 실시간으로 문서의 내용을 생성하기 위해 사용되는 것이 스크립트 요소이다. 스크립트 요소를 사용하면 사용자가 폼에 입력한 정보를 데이터베이스에 저장할 수 있으며, 데이터베이스로부터 게시글 목록을 읽어와 출력할 수 있다. 또한 스크립트를 사용하면 자바가 제공하는 다양한 기능들도 사용할 수 있다.
①스크립트릿 :
자바 코드를 실행할 때 사용 되는 코드의 블럭이다.
<%
자바코드1;
자바코드2;
자바코드3;
...
%>
스크립트릿의 코드 블럭은 <%와 %> 사이에는 실행할 자바 코드가 위치한다.
oneTOTen.jsp
②표현식 :
표현식은 어떤 값을 출력 결과에 포함시키고자 할 때 사용된다.
<%= 값 %>
이 둘 사이에는 출력할 값이 위치한다.
1부터 10까지의 합은
<%= 1+2+3+4+5+6+7+8+9+10 %> 입니다.
③선언부 :
JSP 페이지의 스크립트릿이나 표현식에서 사용할 수 있는 함수를 작성할 때 사용된다.
함수는 어떤 기능을 수행하는 단위로서 자바에서는 함수를 메서드라고 부른다.
<%!
public 리턴 타입 메서드이름(파라미터목록) {
자바 코드1;
자바 코드2;
...
자바 코드n;
return 값
}
%>
리턴 타입 : 메서드의 실행 결과의 타입 지정
메서드 이름 : 메서드 이름
파라미터 목록 :콤모로 구분된 파마미터의 목록을 지정, 파라미터는 매서드 내에서 사용될 변수이다.
자바코드 : 메서드 내에서 실행할 자바 코드
값 : 메서드의 실행 결과로 사용될 값
useDecl.jsp
* 호출이란? 선언부에서 사용된 메서드인 multiply를 사용하여 두 숫자를 곱한 결과값을 출력하였는데, 이렇게 메서드를 사용하는 것을 메서드 호출이라고 한다.
메서드 이름은 메서드를 구분하기 위해서 사용한다. 메서드 이름은 아무렇게나 작성할 수는 없으며, 다음의 규칙에 따라서 메서드 이름을 지어야한다.
- 메서드 이름의 첫글자는 문자(알파벳, 한글 등) 또는 밑줄('_')로 시작해야한다.
- 첫 글자를 제외한 나머지는 문자와 숫자 그리고 밑줄의 조합이어야한다.
- 메서드 이름은 대소문자를 구분한다.
파라미터는 메서드 내부에서 변수로 사용된다.
메서드 호출 시 파라미터 값의 결정
public int multiply(int a, int b){ //파라미터 값에 따라
int c =a*b;
return c;
}
..
<%= multiply(10,25) %> //호출
메서드를 호출하는 경우 메서드를 호출 할 때 지정한 값의 순서에 따라 메서드의 선언 부분에 나열된 파라미터의 값이 출력된다.
JSP에서 실시간으로 문서의 내용을 생성하기 위해 사용되는 것이 스크립트 요소이다. 스크립트 요소를 사용하면 사용자가 폼에 입력한 정보를 데이터베이스에 저장할 수 있으며, 데이터베이스로부터 게시글 목록을 읽어와 출력할 수 있다. 또한 스크립트를 사용하면 자바가 제공하는 다양한 기능들도 사용할 수 있다.
①스크립트릿 :
자바 코드를 실행할 때 사용 되는 코드의 블럭이다.
<%
자바코드1;
자바코드2;
자바코드3;
...
%>
스크립트릿의 코드 블럭은 <%와 %> 사이에는 실행할 자바 코드가 위치한다.
oneTOTen.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>1-10까지의 합</title></head>
<body>
<!--스크립트릿 코드 블록 시작-->
<%
//스크립트릿: 지연변수 선언, 연산, 제어, 출력
int sum =0;
for(int i=1;i<=10;i++){
sum=sum+i;
}
%>
<!-- 스크립트릿 코드 블록 끝 --!>
<!-- HTML 주석 --!>
1부터 10까지의 합은 <%= sum %> 입니다.
</body>
</html>
<html>
<head><title>1-10까지의 합</title></head>
<body>
<!--스크립트릿 코드 블록 시작-->
<%
//스크립트릿: 지연변수 선언, 연산, 제어, 출력
int sum =0;
for(int i=1;i<=10;i++){
sum=sum+i;
}
%>
<!-- 스크립트릿 코드 블록 끝 --!>
<!-- HTML 주석 --!>
1부터 10까지의 합은 <%= sum %> 입니다.
</body>
</html>
②표현식 :
표현식은 어떤 값을 출력 결과에 포함시키고자 할 때 사용된다.
<%= 값 %>
이 둘 사이에는 출력할 값이 위치한다.
1부터 10까지의 합은
<%= 1+2+3+4+5+6+7+8+9+10 %> 입니다.
③선언부 :
JSP 페이지의 스크립트릿이나 표현식에서 사용할 수 있는 함수를 작성할 때 사용된다.
함수는 어떤 기능을 수행하는 단위로서 자바에서는 함수를 메서드라고 부른다.
<%!
public 리턴 타입 메서드이름(파라미터목록) {
자바 코드1;
자바 코드2;
...
자바 코드n;
return 값
}
%>
리턴 타입 : 메서드의 실행 결과의 타입 지정
메서드 이름 : 메서드 이름
파라미터 목록 :콤모로 구분된 파마미터의 목록을 지정, 파라미터는 매서드 내에서 사용될 변수이다.
자바코드 : 메서드 내에서 실행할 자바 코드
값 : 메서드의 실행 결과로 사용될 값
useDecl.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%!
//선언부 : 변수 선언, 메소드 선언
public int multiply(int a, int b){
//int 메서드의 리턴 타입. 메서드 실행 결과값의 타입이 int임을 나타낸다.
//multiply 메서드의 이름
// int a, int b 메서드가 전달 받을 파라미터의 목록. a와 b는 파라미터의 이름이다.
int c =a*b;
return c;
}
%>
<html>
<head><title>선언부를 사용한 두 정수 값의 곱</title></head>
<body>
10*25 = <%= multiply(10,25) %>
<!-- 선언부에서 정의한 multiply() 메서드를 호출(call)한 결과값을 표현식으로 사용하여 출력한다. multiply()의 결과 값은 파라미터로 전달한 두 값의 곱이므로, 10과 25의 곱의 결과값이 표현식의 값으로 출력된다.--!>
</body>
</html>
<%!
//선언부 : 변수 선언, 메소드 선언
public int multiply(int a, int b){
//int 메서드의 리턴 타입. 메서드 실행 결과값의 타입이 int임을 나타낸다.
//multiply 메서드의 이름
// int a, int b 메서드가 전달 받을 파라미터의 목록. a와 b는 파라미터의 이름이다.
int c =a*b;
return c;
}
%>
<html>
<head><title>선언부를 사용한 두 정수 값의 곱</title></head>
<body>
10*25 = <%= multiply(10,25) %>
<!-- 선언부에서 정의한 multiply() 메서드를 호출(call)한 결과값을 표현식으로 사용하여 출력한다. multiply()의 결과 값은 파라미터로 전달한 두 값의 곱이므로, 10과 25의 곱의 결과값이 표현식의 값으로 출력된다.--!>
</body>
</html>
* 호출이란? 선언부에서 사용된 메서드인 multiply를 사용하여 두 숫자를 곱한 결과값을 출력하였는데, 이렇게 메서드를 사용하는 것을 메서드 호출이라고 한다.
메서드 이름은 메서드를 구분하기 위해서 사용한다. 메서드 이름은 아무렇게나 작성할 수는 없으며, 다음의 규칙에 따라서 메서드 이름을 지어야한다.
- 메서드 이름의 첫글자는 문자(알파벳, 한글 등) 또는 밑줄('_')로 시작해야한다.
- 첫 글자를 제외한 나머지는 문자와 숫자 그리고 밑줄의 조합이어야한다.
- 메서드 이름은 대소문자를 구분한다.
파라미터는 메서드 내부에서 변수로 사용된다.
메서드 호출 시 파라미터 값의 결정
public int multiply(int a, int b){ //파라미터 값에 따라
int c =a*b;
return c;
}
..
<%= multiply(10,25) %> //호출
메서드를 호출하는 경우 메서드를 호출 할 때 지정한 값의 순서에 따라 메서드의 선언 부분에 나열된 파라미터의 값이 출력된다.
'프로그래밍 > JSP ' 카테고리의 다른 글
필수 이해 요소 (0) | 2012.02.28 |
---|---|
response 기본객체 (0) | 2012.02.28 |
request 기본 객체 (0) | 2012.02.27 |
Page 디렉티브 (1) | 2012.02.24 |
JSP로 시작하는 웹프로그래밍 (0) | 2012.02.24 |
댓글