JSP의 개념

Chae Yun·2021년 11월 18일
0

JSP(Java Server Page)

목록 보기
8/12
post-thumbnail

JSP(Java Server Pages)

Dynamic 웹 페이지를 만들 수 있는 방법으로 제공하는 자바를 기반으로 하고 있는 스크립트 언어(Server Side Script)로 자바 엔터프라이즈 어플리케이션에서 UI(User Interface) 영역을 담당하고 있다.

JSP는 자바를 서버 환경에서 사용하는 스크립트 방식의 언어로 단일 스레드로 클라이언트의 요청에 서비스한다. 요청이 있을 때 마다(=객체가 생성될 때 마다) 프로세스를 생성하는 기존의 CGI 와는 달리 하나의 메모리를 공유하면서 서비스되는 원리르 갖고 있다.

장점

  • 서버측 부하를 줄여준다

  • JSP 내부에는 보여주는 코드만 작성하고
    직접 작업하는 부분은 자바 빈으로 구성하여 둘을 분리할 수 있다.
    (서로 영향을 주지 않으면서 수정할 수 있고, JAVA 가 갖고있는 장점인 재사용성을 높일 수 있게 한다.)

    클라이언트 <----------------------> 서버
    HTML, CSS, Javascript <-----------> JSP(JAVA)
    브라우저(IE, CR, FF 등) <---------> 웹서버(톰캣), 오라클
    요청 <----------------------------> 응답(HTML 웹 페이지)

  1. JSP 실행 구조

    1단계. 웹 클라이언트에서 웹 서버에 웹 프로그램(페이지 요청)
    2단계. 웹 서버에서 웹 클라이언트가 요청한 JSP 프로그램(페이지) 로드
    3단계. JSP 페이지에 대한 변환 실행
    ※ 이 과정에서 일반 『.java』인 파일로 변환된다. 『→ Servlet』

    4단계. 『.java』인 파일로 변환된 Servlet 의 컴파일(.class) 및 실행

    5단계. 실행 결과로 동적 생성된 HTML Document 를 클라이언트 측에 응답

    6단계. 웹 클라이언트는 응답받은 HTML Document 를
    브라우저에서 웹 페이지 형태로 출력

○ JSP 구성 요소

  1. 디렉티브(지시어) <%@ %>
  • 페이지에 대한 설정 정보 지정. 클래스 속성을 변경.
        ·page
          페이지에 대한 기본 정보 입력
          (문서의 타입, 출력 버퍼의 크기, 에러 페이지 등)
          현재 문서를 나타내는 객체
          page 디렉티브는 JSP 페이지와 관련된 속성을 정의하고
          이 속성들은 웹 컨테이너에 정보를 제공한다.
          또한 한 페이지에 page 디렉티브는 여러 번 등장 할 수 있고
          위치도 관계가 없다.  하지만 보통 페이지 상단에 기술한다.
      ```
	  주요 속성
          - contentType : 생성할 문서 타입
          - import : 사용할 자바 클래스 지정
          - session : 세션 사용 여부 지정
          - buffer : 출력 버퍼 크기 지정
          - autoFlush : 출력 버퍼가 다 채워졌을 경우
                        자동으로 버퍼에 있는 데이터를 비우게 만들지의 여부 지정
          - info : 페이지에 대한 설명
          - errPage : 실행 도중 에러 발생 시 보여줄 페이지 지정
          - pageEncoding : 페이지 자체의 캐릭터 인코딩 지정
        ·taglib
          태그 라이브러리(tag library)
          사용자가 만든 태그 모음(사용자가 직접 기능 설정)

        ·include
          다른 문서를 포함하는 기능.
          여러 JSP 페이지에서 공통적으로 포함하는 내용이 있을 때
          이러한 내용을 매번 반복해서 입력하지 않고
          별도의 파일에 저장해 두었다가 JSP 파일에 삽입하도록 하는 것 → 생산성 향상
          include 디렉티브의 처리 과정은
          정적으로 include 지시자를 사용한 JSP 페이지가 컴파일 되는 과정에서
          include 되는 JSP 페이지 소스 내용을 그대로 포함해서 컴파일한다.
          즉, 복사&붙여넣기 방식으로 두 개의 파일을 하나로 구성한 후
          같이 변환되고 컴파일된다.

   2. 스크립트 요소<%  %>
      - 스크립트 릿(Scriptlet) 
        JSP 문서 내에 JAVA 코드를 기술하는 부분이기 때문에
        오로지 자바 코드만 올 수 있다.
        스크립트 릿에 선언된 변수는 지역변수의 성격을 가지게 되며
        자바에서 메소드 **내에 선언된 변수라고 할 수 있다**.

      - 표현식(Expression)<%=  %>
        HTML 문서 결과값에 포함시키고자 할 때 사용.
        (즉, 브라우저에 등장시킬 수 있는 영역)

      - 선언부(Declaration)<%!  %>
        스크립트 릿이나 표현식에서 사용할 수 있는 함수 작성 시 사용.
        스크립트 릿이나 표현식에서 사용할 수 있는 변수나 메소드를 
        정의하는 부분이기 때문에 선언부에서 선언된 변수는 서블릿으로 변환되는 과정에서 멤버 변수의 입장을 취하게 되며 전역 변수의 성격을 가진다.
        또한, 『_jspInit()』, 『_jspDestory()』와 같은 생명주기 운영을 위해
        메소드를 재정의할 수 있다.

0개의 댓글