JSPの概念



JSP(Java Server Pages)
Javaが提供するスクリプト言語(Server Side Script)に基づいて、動的Webページを作成し、Javaエンタープライズアプリケーションでユーザーインタフェース(UI)の分野を担当します.
JSPはサーバ環境におけるスクリプト言語としてJavaを使用し,クライアントの要求に単一スレッドでサービスする.従来のCGIとは異なり、リクエストがあるたびに(=オブジェクトが作成されるたびに)プロセスの共有メモリサービスを生成する原理があります.
長所

  • サーバ側負荷の軽減

  • JSP内部に表示されるコードのみを記述します.
    直接作業する部分はjavabeanで構成されており、両者を分けることができます.
    (ユーザが互いに影響を及ぼさずに修正し、JAVAの再利用性を向上させることができる.)
    クライアント<--------------->サーバ
    HTML, CSS, Javascript <-----------> JSP(JAVA)
    ブラウザ(IE、CR、FFなど)<---->Webサーバ、oracle
    リクエスト<-----------------------------------------------------------レスポンス(HTMLページ)

  • JSP実行構造
    手順1.WebクライアントがWebサーバにWebプログラムを送信する(ページ要求)
    手順2.WebサーバからWebクライアント要求をロードするJSPプログラム(ページ)
    手順3.JSPページの変換を実行
    ※この過程で通常の『.java』に変換します.『→ Servlet』
    手順4.サーブレットのコンパイルと実行(.javaに変換)
    手順5.クライアントの実行結果として動的に生成されるHTMLドキュメントへの応答
    手順6.Webクライアントが応答するHTMLドキュメント
    ブラウザでWebページ形式で出力
  • ○JSPコンポーネント
  • 指令<%@%>
  • ページの設定情報を指定します.クラスのプロパティを変更します.
  •         ·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()』와 같은 생명주기 운영을 위해
            메소드를 재정의할 수 있다.