코딩마루 2022. 12. 22. 00:25

JSP 페이지는 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 총 3가지의 스크립트를 제공한다. 각각 아래와 같은 기호를 사용한다.

  • Declaration - <%! %>: 전역변수 선언 및 메소드 선언에 사용
  • Scriptlet - <% %>: 프로그래밍 코드 기술에 사용
  • Expression - <%= %>: 화면에 출력할 내용 기술에 사용

1. 선언문 (Declaration)

선언문은 아래와 같이 JSP 페이지 내에서 필요한 멤버변수나 메서드가 필요할 때 사용한다. 

<body>
id : <%=getId() %>
<%!
	String id = "StringID";	// 멤버변수 선언
	public String getId(){	// 메소드 선언
		return id;
	}
%>
</body>

위 jsp 코드를 실행하여 servlet으로 변형되면 아래와 같이 exam1_jsp(exam1은 jsp파일 이름이다.) 클래스의 멤버변수와 메소드가 생성된다.

2. 스크립트릿 (Scriptlet)

일반적으로 가장 많이 쓰이는 스크립트 요소로 프로그래밍 로직을 기술할 때 주로 사용한다. 스크립트릿에서 선언된 변수는 지역변수가 된다.

<body>
<%
	for(int i= 1; i<=6; i++){
%>

<H<%=i %>> Heading<%=i %> </H<%=i %>>

<%
	}
%>
</body>

스크립트릿의 반복문은 위와 같이 작성할 수 있다. html 코드를 출력해야 하는 것은 scriptlet에서 수행할 수 없다. 따라서 반복적으로 html 코드를 출력해야 하는 경우는 위와 같이 반복문의 시작 부분과 끝 부분을 따로 scriptlet을 생성하여 작성하면 된다.

Jsp의 scriptlet안의 코드는 servlet으로 변환될 때 기본적으로 _jspService에 작성된다. 위 코드는 _jspService() 메소드 안에서 다음과 같이 작성된다.

3. 표현식 (Expression)

표현식에는 웹 브라우저에 출력할 것을 표현할 때 사용한다. 표현식의 예시는 Scriptlet의 예제 코드에서 확인할 수 있다.

4. 주석

JSP는 HTML 주석, 자바 주석, JSP주석 모두 사용할 수 있다. 

HTML 주석은 "<!--", "-->" 사이에 원하는 내용을 작성하면 된다. 이때 클라우드의 요청에 대한 응답에도 해당 주석은 포함된다. 단, 주석이기 때문에 화면에 표시는 되지 않고, [소스 보기]를 수행하면 HTML 주석내용이 화면에 표시된다.

JSP 주석은 JSP 페이지에서만 사용되며 "<%--", "--%>" 사이에 원하는 내용을 작성하면 된다. JSP 주석은 JSP의 주석이기 때문에 Servlet으로 변환할 때도 해당 내용은 들어가지 않는다. 따라서 웹 브라우저의 응답에도 해당 주석의 내용은 포함되지 않는다.

자바 주석은 "//", "/**/"을 사용한다. 해당 주석은 Scriptlet이나 Expression에 사용된다. 자바 주석의 경우 servlet으로 변형될 때는 그대로 작성되지만 이후 응답에는 포함되지 않는다.