[JSP] JSP 개요와 동작원리, 정적과 동적 웹페이지 특징

    JSP(Java Server Page) 개요, 정적과 동적 웹페이지 차이

     

    JSP(Java Server Page)는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에게 돌려주는 언어이며, 웹 서버에서 동작한다. 

    JSP의 목적은 동적인 웹 페이지를 효율적으로 생성하고 활용하기 위한 방법을 제공하고 있다. 

     

    웹 페이지는 크게 정적(Static)과 동적(Dyanamic)으로 나뉜다. 정적과 동적의 가장 큰 차이는 이미 만들어져 있는 문서만을 서비스할 것이냐 아니냐의 차이이다. 정적은 이미 만들어진 것만을 사용하는 것이고 동적은 클라이언트에게 실시간으로 정보를 가공 처리하여 서비스하는 것이다.

     

    동적인 웹 페이지는 주로 데이터베이스 서버와 연동하여 웹 서버에서 처리한다. 즉 웹 서버에서 처리되기 때문에 Server page라는 용어를 사용하고, 자바 코드를 그대로 이용하고 있기 때문에 Java Server page라고 한다. 그래서 JSP는 자바가 필요하다. 

     

    JSP 페이지의 동작과정

    JSP 페이지의 동작 과정은 아래 그림과 같다. 사용자가 클라이언트에서 웹 서버에게 JSP 페이지를 요청하면 웹 서버는 JSP 페이지를 처리하는 JSP 핸들러 서블릿을 호출한다. JSP 핸들러 서블릿은 요청한 JSP 페이지에 대한 서블릿 유무를 확인한다.

    JSP 페이지의 동작과정

    최초로 호출받은 JSP 페이지인지 서블릿 컨테이너에 적재된 서블릿인지를 확인하여 최초로 호출한 것인지 확인하고 최초로 호출한 JSP 페이지이면 JSP 페이지를 서블릿 소스 파일(*.java)을 생성하고, 서블릿 소스 파일을 컴파일하여 서블릿 클래스 파일(*.class)을 생성한 후 서블릿 컨테이너에 로딩한다. 요청한 JSP 페이지가 서블릿 컨테이너에 로딩된 경우에 JSP 페이지가 변경되었다면 다시 서블릿 소스 파일을 생성하고 컴파일하여 서블릿 컨테이너에 로딩한다. 요청한 JSP 페이지의 서블릿을 실행한다. 서블릿은 데이터베이스나 비즈니스 로직들을 처리하고 결과를 클라이언트에 전송한다.

     

     

     

    사진출처, http://www.talkdev.net/jeus-jsp-destroyed/

    참고, ORACLE 11g와 함께하는 JSP/Servlet 프로그래밍/조행남/컴원미디어

    댓글

    Designed by JB FACTORY