오랜만에 하드코딩 할려니 모든것이 혼란 스럽다. 정리가 필요하다.
구분 | 사용법 | 설명 |
<% %> | 스크립틀릿 (Scriptlet) | JSP에서 Java 코드 실행 (service() 메서드 내부) |
<%! %> | 선언문 (Declaration) | JSP의 멤버 변수 또는 메서드 선언 (service() 메서드 외부) |
<%@ %> | 디렉티브 (Directive) | JSP 페이지의 설정 (page, include, taglib) |
<% %> (스크립틀릿, Scriptlet)
- JSP 내부에서 Java 코드를 실행할 때 사용됩니다.
- JSP가 실행될 때 서블릿 코드로 변환되며, service() 메서드 안에 들어갑니다.
- JSP 페이지 내에서 동적인 처리를 할 때 사용됩니다.
<%
String message = "Hello, JSP!";
out.println(message);
%>
변환된 서블릿 코드
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws IOException {
String message = "Hello, JSP!";
out.println(message);
}
<%! %> (선언문, Declaration)
- JSP 페이지에서 멤버 변수 또는 메서드를 선언할 때 사용됩니다.
- service() 메서드 바깥에서 선언되므로, 전역 변수 또는 메서드 정의가 가능합니다.
<%!
int count = 0; // 멤버 변수 선언
public int getNextCount() {
return ++count;
}
%>
변환된 서블릿 코드
public class MyJspServlet extends HttpServlet {
int count = 0; // 클래스 멤버 변수
public int getNextCount() {
return ++count;
}
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws IOException {
out.println("다음 번호: " + getNextCount());
}
}
<%@ %> (디렉티브, Directive)
- JSP 페이지의 설정 및 서블릿 변환 방식을 정의하는 데 사용됩니다.
- JSP 페이지에 대한 메타정보를 지정합니다.
- 주요 디렉티브:
- page: JSP 페이지의 속성 설정 (예: 인코딩, 오류 페이지 등)
- include: 다른 JSP 파일 포함
- taglib: 커스텀 태그 라이브러리 선언
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ page import="java.util.Date" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:forEach var="i" begin="1" end="5">
<p>번호: ${i}</p>
</c:forEach>
정리가 깔끔하죠! 맞습니다. ChatGPT 님이 정리해 주셨습니다.
'Java&Jsp&Servlet' 카테고리의 다른 글
[Java] 날짜, 시간 더하기 , date Add, DateTimeFormatter (0) | 2024.08.27 |
---|---|
[Tomcat] Tomcat 지원 Java 버전 (0) | 2019.04.19 |
[Eclipse] Previous operation has not finished; run 'cleanup' if it was interrupted (0) | 2016.03.02 |
[eclipse] a resource exists with a different case (0) | 2015.09.01 |
[JAVA] xml -> String 으로 변환 (0) | 2015.03.11 |