JSP 선언(Declaration)이란 무엇인가?
JSP 선언(Declaration)은 JSP 파일 안에서 나중에 Java 코드로 사용할 수 있는 하나 이상의 변수 또는 메서드를 선언하는 구문입니다. 선언된 변수와 메서드는 JSP가 서블릿으로 변환될 때 서블릿 클래스의 멤버로 포함되기 때문에, 페이지 전체에서 자유롭게 참조할 수 있습니다.
단, 주의할 점이 있습니다. 변수나 메서드는 반드시 JSP 파일에서 사용하기 전에 먼저 선언되어야 합니다. 선언보다 앞서 사용하면 컴파일 오류가 발생합니다.
JSP 선언문 작성 방법 2가지
1. 스크립틀릿 방식 (<%! %>)
가장 일반적인 방식으로, 다음과 같은 문법을 사용합니다.
<%! declaration; [ declaration; ]+ ... %>
하나의 선언 블록 안에 여러 개의 선언을 세미콜론(;)으로 구분하여 동시에 작성할 수도 있습니다.
2. XML 태그 방식 (<jsp:declaration>)
위 문법과 동일한 기능을 하는 XML 형식의 표현 방식도 제공됩니다.
<jsp:declaration>
code fragment
</jsp:declaration>
XHTML 기반의 JSP 문서(JSPX)를 작성할 때는 이 XML 방식을 사용하는 것이 문법적으로 더 적합합니다.
JSP 선언 예제
다음은 JSP 선언을 활용한 대표적인 예제입니다.
<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>
- 첫 번째 예제는 정수형 변수
i를 선언하고 0으로 초기화합니다. - 두 번째 예제는 여러 개의 정수형 변수
a,b,c를 한 번에 선언합니다. - 세 번째 예제는 객체를 생성하여 변수에 할당하는 방식을 보여줍니다.
선언문 사용 시 알아두면 좋은 점
JSP 선언문에 작성된 변수는 인스턴스 변수처럼 동작하므로, 여러 요청(request) 간에 값이 공유될 수 있습니다. 따라서 상태를 유지해야 하는 경우가 아니라면 스레드 안전성(thread safety)을 고려하여 신중하게 사용하는 것이 좋습니다.