JSP/JSP 기본문법

스크립틀릿 태그

별초롱언니 2025. 5. 21. 17:48

스크립틀릿 태그는 자바 코드로 이루어진 로직 부분을 표현하며 다음과 같은 형식으로 out 객체를 사용하지않고도 쉽게 HTML 응답을 만들어낼 수 있습니다. 스크립틀릿 태그는 가장 일반적으로 사용되며 변수 또는 메소드 호출, 유효식 등 다수를 포함할 수 있습니다. 모든 텍스트, HTML 태그 또는 JSP 요소는 스크립틀릿 태그 외부에 있어야합니다. 

 

스크립틀랫 태그에 작성된 자바 코드는 서블릿 프로그램으로 변환될 때 _jspService()메소드 내부에 복사됩니다. 각 클라이언트의 요청에 대해 _jspService() 메소드가 호출되므로 이 메소드는 내부 코드가 클라이언트의 요청마다 실행되어야 하기 때문입니다. 그리고 _jspService() 메소드 내부에 복사되므로 지역변수가 되어 이 태그에 선언된 변수는 스크립틀릿 태그 내에서만 사용할 수 있습니다. 

선언문태그와 스크립틀릿 태그의 비교

선언문 태그 스크립틀릿 태그
변수뿐만 아니라 메소드를 선언할 수 있다. 스크립틀릿 태그는 메소드 없이 변수만을 선언할 수 있다.
서블릿 프로그램으로 변환될 때
_jspService()메소드 외부에 배치된다
서블릿 프로그램으로 변환될 때
_jspService() 메소드 내부에 베치된다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		int a = 2;
		int b = 3;
		int sum = a + b;
	%>
	
	<%=
		"2 + 3 = " + sum
	%>
</body>
</html>


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		for (int i = 0; i<= 10; i++) {
			if (i % 2 == 0) {
				out.println(i + "<br>");
			}
		}
	%>
</body>
</html>