[JSP] 기본 코드 구조

JHJeong·2024년 5월 7일
0

JSP

목록 보기
2/5
post-custom-banner

1. 디렉티브(Directives)

  • 디렉티브는 JSP 페이지에 대한 설정 정보를 제공한다. 주로 페이지의 문서 타입, 인코딩 방식, 사용할 자바 패키지 등을 지정한다.
  • 예를 들어, 페이지의 콘텐츠 타입을 HTML로 지정하고 UTF-8 인코딩을 사용하는 경우 아래와 같이 작성할 수 있다.
<%@ page contentType="text/html;charset=UTF-8" %>

2. 스크립트 요소(Script Elements)

  • 스크립트 요소는 실제 자바 코드를 포함하여 서버에서 데이터를 처리하고 동적 컨텐츠를 생성한다.
  • 스크립트릿 (Scriptlets)
    --> 자바 코드를 사용하여 로직을 처리하고 데이터를 조작한다. 예를 들어, 현재 날짜를 표시하는 스크립트릿은 다음과 같다.
<%
  java.util.Date date = new java.util.Date();
  out.println("<h2>Today's date: " + date + "</h2>");
%>
  • 표현식(Expressions)
    --> 화면에 값을 출력하기 위해 사용되며, 주로 변수의 값을 직접 출력할 때 사용한다. 예를 들어, 사용자의 이름을 출력하고자 할 때 다음과 같이 사용할 수 있다.
<p>Hello, <%= userName %></p>
  • 선언부(Declarations)
    --> JSP 페이지 내에서 메소드나 변수를 선언하는 데 사용된다. 예를 들어, 정수의 제곱을 계산하는 메소드를 선언하고 사용할 수 있다.
<%! 
  int square(int x) {
    return x * x;
  }
%>
<p>Square of 5 is <%= square(5) %></p>

3. 기본 객체

  • JSP에서 제공하는 기본 객체를 사용하여 요청, 응답 등을 처리할 수 있다. 예를 들어, 클라이언트로부터 받은 파라미터를 출력하는 코드는 다음과 같다.
<%
    String username = request.getParameter("username");
    out.println("Hello, " + username);
%>

4. 표현 언어(Expression Language)

  • JSP 2.0 이상에서 사용되며, 간단하게 객체의 속성이나 컬렉션에 접근할 수 있다. 예를 들어, 'user'객체의 'name'속성을 표시하고자 할 때 다음과 같이 작성할 수 있다.
<p>User Name: ${user.name}</p>

5. 표준 액션 태그와 태그 라이브러리

  • JSP에서 제공하는 표준 액션을 사용하여 다른 리소스를 포함하거나 조건에 따라 다른 작업을 수행할 수 있다. 예를 들어, 다른 페이지를 포함하는 코드는 다음과 같다.
<jsp:include page="header.jsp" />

5. 예제

아래는 JSP 파일의 예제 소스코드이고, 주요 기본 구성 요소들을 모두 포함하고 있으며, 각 라인별로 설명을 추가하였다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
    <title>Sample JSP Page</title>
</head>
<body>
<%
    // 자바 코드를 사용한 스크립트릿 예제
    String userName = "John Doe";
    java.util.Date date = new java.util.Date();
%>
<h1>Welcome to Our Website</h1>
<p>Hello, <%= userName %>!</p> <!-- 표현식을 사용하여 사용자 이름 출력 -->
<p>Today's date: <%= date %> </p> <!-- 표현식을 사용하여 날짜 출력 -->

<%! 
    // 선언을 사용한 메소드 예제
    int square(int x) {
        return x * x;
    }
%>
<p>Square of 4 is <%= square(4) %></p> <!-- 선언한 메소드를 표현식을 통해 사용 -->

<p>User Name from EL: ${userName}</p> <!-- 표현 언어를 사용하여 사용자 이름 출력 -->

<!-- 표준 액션을 사용한 다른 JSP 페이지 포함 -->
<jsp:include page="footer.jsp"/>
</body>
</html>

설명
Line 1: 페이지의 콘텐츠 타입과 문자 인코딩을 지정하고, 자바 프로그래밍 언어를 사용한다는 것을 선언한다.
Line 2~5: HTML 문서의 기본 구조를 정의한다. head 태그 내에 문서의 제목을 설정한다.
Line 6~10: HTML body 섹션의 시작이다. 여기서 자바 코드를 스크립트릿을 사용하여 실행한다. 사용자 이름과 날짜를 변수로 선언하고 초기화한다.
Line 11: h1 태그를 사용하여 웹페이지의 제목을 출력한다.
Line 12-13: 표현식(<%= %>)을 사용하여 스크립트릿에서 선언한 변수들을 HTML 문서에 출력한다.
Line 15-19: JSP 내에서 자바 메소드를 선언한다. 이 메소드는 정수의 제곱을 계산하여 반환한다.
Line 20: 선언한 square 메소드를 호출하고 그 결과를 웹 페이지에 출력한다.
Line 22: 표현 언어를 사용하여 userName 변수의 값을 출력한다. 표현 언어는 객체의 속성에 간단하고 깔끔하게 접근할 수 있게 해준다.
Line 24: <jsp:include> 표준 액션을 사용하여 다른 JSP 페이지 (footer.jsp)를 현재 페이지에 포함한다. 이를 통해 페이지의 모듈화를 달성할 수 있게 된다.
Line 25-27: HTML 문서의 닫는 태그이다.

profile
이것저것하고 싶은 개발자
post-custom-banner

0개의 댓글