[JSP] Scriptlet

Java 2014.08.26 17:38

JSP 에서 html 코드내에 Java 코드를 삽입하는 Scriptlet 기술에 대해 간략히 알아보자.

  • Scriptlet
    • 스크립틀릿은 JSP 에 쓰이는 기술이다.
      • JSP는 HTML기반에 자바코드가 결합되어 있으며, 스크립틀릿인 부분은 웹서버에서 실행되고 그 결과만 웹 브라우져로 전송된다.
    • 스크립틀릿은 JSP 파일내에 <% %>으로 구성되며, 그안에는 자바 코드를 기입할 수 있다.
    • 표현식
      • <%@ %> : 지시자(page, include, taglib)
      • <% %>   : 스크립틀릿
      • <%= %> : 표현식
        • 자바식 이 대입될수 있고 자바식은 상수나 변수 이름, 연산자를 포함한 식 또는 리턴 값이 있는 메서드 호출식이 될 수도 있다.
    •  예제

      • java.util.Calendar 클래스를 import로 추가 하여 <%%> 안에서 Java 로 계산 , HTML 에서 <%=> 로 변수값을 출력하는 예제


      • <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>

        <%@ page import="java.util.Calendar"%>

        <%

        Calendar calendar = Calendar.getInstance();

        int hour = calendar.get(Calendar.HOUR_OF_DAY);

        int minute = calendar.get(Calendar.MINUTE);

        int second = calendar.get(Calendar.SECOND);

        %>

        <html>

        <head>

            <title>Scriptlet</title>

        </head>

        <body>

          <h1>시간 <%=hour %>시 <%=minute %>분 <%=second %>초.</h1>

        </body>

        </html>


  • JSP(Java Server Page)
    • 자바로 동적 HTML을 만들기 위해 서버에서 실행되는 언어 
    • JSP 구성과 흐름도
      • 4. 웹서버는 jsp 요청이 오면 분석하여 서블릿컨테이너에 요청을 넘긴다
      • 5. 서블릿컨테이너에서는 jsp 파일에 해당하는 서블릿이 있는지 확인하고 없을 경우 jsp 파일을 서블릿으로 컴파일한다.
      • 6. 컴파일된 jsp 는 서블릿으로 변환되어 컨테이너에 적재
      • 8,9. 화면에 보일 내용을 정리해서 html 문서로 클라이언트에 전송
    • JSP/서블릿 컨테이너
      • jsp 요청이 오면 상응하는 서블릿이 처리한다.
      • jsp 요청에 상응하는 서블릿이 없다면 서블릿 컨테이너는 jsp 파일을 서블릿 소스로 변환해서 컴파일하고 서블릿으로 관리한다.
    • 서블릿
      • 웹어플리케이션(자바 웹프로그래밍)
      • 서블릿으로 컴파일된 후에는 메모리에서 처리되기 때문에 많은 사용자 접속도 원할히 처리할 수 있다.
      • jsp또는 다른 서블릿간의 데이터 공유가 쉽다. (page, request, session, application, scope 로 가능)


Posted by leechwin