본문 바로가기

Programing/JAVA

JSP개요

JSP 페이지의 구성

  • 템플릿 데이터

    • 고정된 데이터나 템플릿 컨텐츠
    • 텍스트나 XML/HTML 태그를 의미함
  • JSP 요소 : 동적인 데이터의 추가

    • JSP 기술은 템플릿 데이터에 동적인 데이터를 추가하는 강력한 방법을 제공

 

JSP 문서의 기본구조

  • JSP 페이지의 구성 요소

    • 스크립트요소(Java 프로그램 코드조각, 동적인 컨텐츠를 만들기 위해 프로그램 작성에 사용되는 요소)

      • 스크립트릿

        • JSP 페이지에 삽입되는 Java 코드
        • <% ....%>
        • <%
            String a = "Hello, Java";
          %>
          <h1><%=a %></h1>
      • 표현식

        • 변수가 수식의 값을 출력할 때 JSP 페이지에 삽입하는 식
        • 스크립트릿을 사용하지 않고 변수나 수식의 값을 JSP 페이지 실행 결과에 포함시키기 위한 것
        • <%=....%>
        • String 표현으로 변환되며 세미콜론이 없음
      • 선언

        • JSP 페이지에 삽입되는(스크립트릿이나 표현식에서 사용되는) 멤버 변수 또는 메소드 선언문
        • <%!.....%>
        • <%!
           public 리턴타입 메서드이름(파라미터목록) {
                메서드 내용;
           }
          %>
        • <%!
           public int add(int a, int b){
                return a + b;
           }
          %>
    • 지시어

      • 지시어의 의미

        • JSP 페이지에 대한 전체적 설정 정보를 지시

          • JSP 페이지의 번역과 실행 과정에 사용되는 정보
          • <%@ 지시어이름 속성1="값1" 속성2="값2"......%>
      • 지시어의 종류

        • include

          • JSP 페이지의 특정 영역에 다른 문서를 포함
          • 번역 과정에서 삽입시킬 텍스트나 코드를 지정
        • page(페이지의 속성을 나타내기 위한 것)

          • JSP 페이지에 대한 정보를 지정
          • 사용할 스크립트 언어, 상속받을 클래스, import 할 패키지, JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 사용할 에러 페이지 등
          • <%@ include file="/jsp/userinfopage.jsp" %>
            <%@ page contentType="text/html; charset=euc-kr"%>
            <%@ page import="java.util.Date" %>
          • page지시어의 용도

            • 출력 버퍼 관련 속성, 생성시킬 문서의 기본 정보, import할 클래스 등을 설정
            • <%@ page contentType="text/html; charset=euc-kr" import="java.sql.*" %>
              <%@ page session="false" %>

              <%@ page import="package.mypackage.*" errorPage="boof.jsp" %>
              <%@ page buffer="20kb" %>
          • 주요 속성

            • autoFlush

              • 클라이언트로 전송된 데이터가 저장되는 장소를 '출력버퍼'라고 하는데 출력버퍼가 다 찼을 경우 자동으로 버퍼를 비울 지의 여부를 나타낸다.
              • 'ture일 경우 버퍼가 차게 되면 버퍼를 비워 내용을 클라이언트에 보낸다.
              • 'false'일 경우 버퍼가 차게 되면 예외를 발생
              • 기본값 : false
            • contentType

              • JSP 페이지 실행 결과로 생성되는 문서의 종류(MIME 타입)와 사용될 charset 정보를 설정

                • MIME는 다양한 종류의 데이터를 인터넷 상에서 송수신할 때 사용되는 통신 규약

                  • 기본 값은 text/html 이며 text/xml, text/plain등이 있음
                  • 웹 서버가 데이터를 전송할 때 데이터의 내용에 앞서 종류에 대한 정보를 보냄
                • 문자의 인코딩 방법을 지정
                • <%@ page contentType="text/html; charset=euc-kr" %>
              • 기본값 : text/html
            • import

              • JSP 페이지에서 사용할 자바 클래스를 지정
              • JDK 에서 제공하는 클래스를 사용할 때, 사용할 클래스를 명시함
              • <%@ page import = "java.util.Date" %>
                <%@ page import = "java.sql.Connection" %>
                <%@ page import = "java.util.Date, java.sql.*" %>
            • language

              • JSP 페이지의 스크립트 요소(스크립트릿, 표현식, 선언)에서 사용 할 수 있는 프로그래밍 언어를 설정
              • JSP 현재 버전에서는 'java'만 가능
            • session

              • JSP 페이지에서 session 객체를 사용할 지의 여부를 지정 
              • 'true'일 경우 session 객체를 사용할 수 있고 'false'일 경우 session 객체를 사용할 수 없다
              • 기본값 : true
            • buffer

              • JSP 페이지의 출력 버퍼 크기를 지정하며 '8kb', '256kb'와 같이 지정
              • 'none'일 경우 출력 버퍼를 사용하지 않는다
              • 기본값 : 8kb
            • info

              • JSP 페이지에 대한 설명을 텍스트로 입력할 때 사용
            • errorPage

              • JSP 페이지를 실행하는 동안 에러가 발생할 때 보여줄 페이지가 무엇인지를 설정
            • isErrorPage

              • 현재 페이지가 에러 페이지인지의 여부를 지정
              • 'true'이면 현재 페이지를 에러페이지로 사용
              • 'false'이면 에러 페이지로 사용 할 수 없다
              • 기본값 : false
            • pageEncoding

              • JSP 페이지 자신의 문자 인코딩을 지정
            • isELIgnored

              • 표현 언어를 지원할지의 여부를 설정
              • JSP 2.0 부터 새롭게 추가
              • 'false'일 경우 지원
              • 'true'일 경우 지원 안함
              • 기본값 : false
            • trimDirectiveWhitespaces

              • 생성되는 문서에서 공백 문자를 제거할지의 여부를 지정
              • JSP 실행 결과에 불필요한 줄바꿈 문자를 제거
              •  - JSP 페이지에서 템플릿 텍스트가 공백문자로만 구성되면 이것이 보존되기 때문
              • 'true'일 경우 공백이 제거
              • 기본값 : false
            •  
        • taglib

          • 사용자 정의 태그 라이브러리를 지정
          • 태그 라이브러리 파일의 위치와 접두어를 지정
          • <%@ taglib uri="oracustomtags" prefilx="oracust" %>
    • 액션태그

      • 요청을 처리할 때 특별한 기능을 수행하는 것
      • XML 태그와 같은 모양

        • 시작태그와 요소이름, 속성, 몸체, 마감태그
        • <jsp:액션태그이름>의 형태
        • <%@ page contentType="text/html; charset=euc-kr" %>
          <html>
          <body>
          <jsp:include page="myPage.jsp" />
          <body>
          </html>
    • 내장 객체(많이 사용되는 기능을 객체 형태로 제공하는 것)

      • 내장 객체(implicit object)의 사용

        • 별도의 선언이나 초기화 없이 사용 가능
        • 요청 파라미터 읽어오기, 응답 결과 전송하기, 세션 처리하기, 웹 어플리케이션 정보 읽어오기 등
        • 예 : request, response, session, application, out, page등
    • 표현 언어

      • 표현 언어의 의미

        • JSP 페이지 내부에서 사용되는 간단한 스크립트 언어
        • 스크립트 요소의 사용이 없는 태그 기반 언어

          • 내장 객체나 JSTL과 함께 사용할 수 있음
        • ${expr}
    • 사용자 정의 태그 

      • 사용자가 정의하는 태그
      • JSP 표준 태그를 확장한 것
    • JSTL(JSP Standard Tag Library)

      • 자주 사용되는 사용자 정의 태그들을 모아 표준화한 태그 라이브러리
      • 조건문, 반복문과 같은 프로그랭적 요소를 태그 형태로 사용할 수 있게 함

'Programing > JAVA' 카테고리의 다른 글

자바 용어  (0) 2012.11.09
요청과응답  (0) 2012.11.09
JSP동작원리  (0) 2012.11.09
JSP용어정리  (0) 2012.11.09