JSP

JSP - 스크립틀릿(Scriptlet) <% %>

jaycheol 2024. 8. 29. 11:25
반응형

스크립틀릿(Scriptlet) <% %>

스크립틀릿(Scriptlet)은 JSP(JavaServer Pages)에서 Java 코드를 직접 HTML 페이지에 삽입할 수 있는 방식입니다. JSP 페이지에서 <% %> 태그 사이에 자바 코드를 작성하면, 이 코드는 JSP 페이지가 실행될 때 서블릿 코드로 변환되어 실행됩니다.

 

 

스크립틀릿의 구조

스크립틀릿은 <%로 시작해서 %>로 끝나는 구문 사이에 Java 코드를 포함합니다. 예를 들어, 다음과 같은 코드를 생각해볼 수 있습니다:

<%
// 자바 코드를 삽입할 수 있습니다.
int sum = 0;
for(int i = 1; i <= 10; i++) {
    sum += i;
}
out.println("The sum is: " + sum);
%>

이 스크립틀릿은 JSP 페이지에 포함되며, JSP가 서블릿으로 변환될 때 이 코드가 서블릿의 service 메소드 안에 포함됩니다.

 

스크립틀릿의 장점

  1. 간단한 사용법: HTML 페이지 내에 자바 코드를 바로 삽입할 수 있어서, 복잡한 자바 코드를 간단하게 사용할 수 있습니다.
  2. 빠른 프로토타이핑: 초기 JSP 시절, 간단한 동적 웹 페이지를 빠르게 만들기 위해 자바 코드를 HTML에 쉽게 섞어 사용할 수 있었습니다.

 

스크립틀릿의 단점

  1. 유지보수의 어려움: 자바 코드와 HTML 코드가 혼재되어 있어, 코드를 읽고 유지보수하기가 매우 어려워집니다. 특히, 프로젝트가 커지면 가독성이 떨어지고 디버깅이 복잡해집니다.
  2. MVC 패턴 위반: 스크립틀릿은 MVC(Model-View-Controller) 아키텍처에서 View 레이어에 비즈니스 로직을 혼합하게 되어, 역할 분리가 불명확해집니다.
  3. 현대적 개발 방법과의 부적합성: 현재의 웹 개발은 JSP에서 자바 코드와 HTML을 엄격하게 분리하는 것이 표준입니다. 스크립틀릿을 사용하면 코드 재사용성, 테스트 용이성, 유지보수성 등에서 문제가 발생할 수 있습니다.

 

스크립틀릿의 대안

현대적인 JSP 개발에서는 스크립틀릿 사용을 지양하고, 대신 다음과 같은 방식을 사용합니다:

1. JSTL (JSP Standard Tag Library) 및 커스텀 태그:

  • JSTL을 사용하여 반복문, 조건문 등을 처리하며, 비즈니스 로직은 서블릿이나 서비스 클래스에 위임합니다.
<c:forEach var="item" items="${items}">
    ${item.name}
</c:forEach>

 

2. EL (Expression Language):

  • JSP 내에서 데이터를 표현하는데 사용되며, 비즈니스 로직을 포함하지 않습니다.
${user.name}

 

3. MVC 패턴:

  • 서블릿이나 스프링 MVC와 같은 컨트롤러에서 비즈니스 로직을 처리하고, 결과를 JSP로 전달해 표현만 담당하게 합니다.

 

 

반응형