JSP란?
JSP(Java Server Pages)는 자바를 기반으로 한 동적인 웹 사이트 개발 언어로써, ASP(Active Server Pages), PHP(Professional Hypertext Preprocessor), CGI(Common Gateway Interface)와 같은 서버측(Server Side) 스크립트 언어이다.
웹 사이트를 개발할 때 많이 사용하는 HTML, 자바스크립트(Javascript)가 클라이언트(사용자의 웹 브라우저) 상에서 실해이 되는 반면에 JSP는 서버에서 실행되고, 실행된 결과를 클라이언트에 전달해 주게된다.
JSP는 HTML과 자바스크립트등의 클라이언트 사이드 스크립트 언어들과 연결된 동적인 웹 페이지를 만들어주는 자바 코드라고 합니다. 클라이언트가 웹 서버에 처음으로 JSP 페이지를 요청하면 웹 서버에 있는 JSP엔진에서 자동으로 서블릿 코드로 변환을 시키고, 그 서블릿 코드를 컴파일 합니다. 그리고 그 컴파일한 클래스를 실행하고, 그 결과를 클라이언트의 웹 브라우저에 보내주게 됩니다. 이 일연의 모든 과정은 JSP엔진(TOMCAT)에서 자동으로 처리합니다. JSP는 자바 클래스, 서블릿, 애플릿, 웹 서버 등과의 다양한 통신방법을 제공합니다.
JSP 동작 과정
1) 서버안에 만들어진 JSP파일(*.jsp)을 실행한다.
2) TOMCAT(JSP 엔진)에 의해서 *.jsp 파일을 서블릿용 java 소스인 *.java 파일로 변경 한 다음 컴파일을 통해서 *.class 파일을 생성한다. (*.jsp -> *.java -> *.class)
3) TOMCAT(Servlet 엔진)에 의해서 서블릿용 *.class 파일을 해석하여 처리 결과를 브라우저에 보여줌. ※ tomcat은 jsp와 servlet을 모두 실행 시켜주는 엔진.
JSP의 특징
JSP의 특징은 이루 말할 수 없이 많아서, 요즘 웹 사이트를 개발하는 업체를 보면 상당히 많은 수가 JSP를 사용하는 것을 볼 수 있습니다. JSP는 자바를 바탕으로 한 언어입니다. 그래서 자바의 모든 특징을 다 가지고 있다고 볼 수 있습니다. 플랫폼 독립성, 효율성, 메모리 관리, 자바의 모든 API를 사용할 수 있는 장점이 있습니다.
- 플랫폼 독립성
JSP와 서블릿도 자바 언어와 마찬가지로 플랫폼 독립적입니다. 이것은 JSP와 서블릿이 웹 서버에 있는 JVM(Java Virtual Machine)에서 컴파일되고 실행되기 때문입니다. 특히 컴파일된 서블릿 바이트 코드는 자바를 지원하는 어떤 다른 플랫폼에 옮겨놔도 실행이 가능하다는 것입니다.
- 효율성
CGI와 비교해서 살펴보면 JSP는 클라이언트의 요청을 상당히 효율적으로 처리합니다. CGI는 클라이언트의 요청이 있을 때마다 새로운 프로세스를 생성하기 때문에 속도가 느려지고 메모리에 많은 부담을 줍니다. 반면에 JSP는 클라이언트의 요청을 받으면 매번 새로운 프로세를 생성하지 않고 웹 서버에 실중인 동일한 프로세스에 의해서 처리 되기 때문에 이것은 수행속도를 향상시키고, 웹 서버의 성능을 크게 향상시킵니다. 수천 수백의 사용자들이 동시에 접속을 하여도 CGI에 비하여 웹 서버의 기능을 다 할 수 있는 장점을 갖고있습니다.
- 메모리 관리
자동으로 메모리를 관리해 주는 것은 자바의 기본적인 특징이기도 합니다. 자바에서는 GC(Garbage Collector)가 자동으로 사용되지 않고 있는 객체들을 다시 사용할 수 있는 메모리 공간으로 만들어 주는 동작을 JVM(Java Virtual Machine)에서 자동으로 수행을 해줍니다.
JSP(Java Server Pages)는 자바를 기반으로 한 동적인 웹 사이트 개발 언어로써, ASP(Active Server Pages), PHP(Professional Hypertext Preprocessor), CGI(Common Gateway Interface)와 같은 서버측(Server Side) 스크립트 언어이다.
웹 사이트를 개발할 때 많이 사용하는 HTML, 자바스크립트(Javascript)가 클라이언트(사용자의 웹 브라우저) 상에서 실해이 되는 반면에 JSP는 서버에서 실행되고, 실행된 결과를 클라이언트에 전달해 주게된다.
JSP는 HTML과 자바스크립트등의 클라이언트 사이드 스크립트 언어들과 연결된 동적인 웹 페이지를 만들어주는 자바 코드라고 합니다. 클라이언트가 웹 서버에 처음으로 JSP 페이지를 요청하면 웹 서버에 있는 JSP엔진에서 자동으로 서블릿 코드로 변환을 시키고, 그 서블릿 코드를 컴파일 합니다. 그리고 그 컴파일한 클래스를 실행하고, 그 결과를 클라이언트의 웹 브라우저에 보내주게 됩니다. 이 일연의 모든 과정은 JSP엔진(TOMCAT)에서 자동으로 처리합니다. JSP는 자바 클래스, 서블릿, 애플릿, 웹 서버 등과의 다양한 통신방법을 제공합니다.
JSP 동작 과정
1) 서버안에 만들어진 JSP파일(*.jsp)을 실행한다.
2) TOMCAT(JSP 엔진)에 의해서 *.jsp 파일을 서블릿용 java 소스인 *.java 파일로 변경 한 다음 컴파일을 통해서 *.class 파일을 생성한다. (*.jsp -> *.java -> *.class)
3) TOMCAT(Servlet 엔진)에 의해서 서블릿용 *.class 파일을 해석하여 처리 결과를 브라우저에 보여줌. ※ tomcat은 jsp와 servlet을 모두 실행 시켜주는 엔진.
JSP의 특징
JSP의 특징은 이루 말할 수 없이 많아서, 요즘 웹 사이트를 개발하는 업체를 보면 상당히 많은 수가 JSP를 사용하는 것을 볼 수 있습니다. JSP는 자바를 바탕으로 한 언어입니다. 그래서 자바의 모든 특징을 다 가지고 있다고 볼 수 있습니다. 플랫폼 독립성, 효율성, 메모리 관리, 자바의 모든 API를 사용할 수 있는 장점이 있습니다.
- 플랫폼 독립성
JSP와 서블릿도 자바 언어와 마찬가지로 플랫폼 독립적입니다. 이것은 JSP와 서블릿이 웹 서버에 있는 JVM(Java Virtual Machine)에서 컴파일되고 실행되기 때문입니다. 특히 컴파일된 서블릿 바이트 코드는 자바를 지원하는 어떤 다른 플랫폼에 옮겨놔도 실행이 가능하다는 것입니다.
- 효율성
CGI와 비교해서 살펴보면 JSP는 클라이언트의 요청을 상당히 효율적으로 처리합니다. CGI는 클라이언트의 요청이 있을 때마다 새로운 프로세스를 생성하기 때문에 속도가 느려지고 메모리에 많은 부담을 줍니다. 반면에 JSP는 클라이언트의 요청을 받으면 매번 새로운 프로세를 생성하지 않고 웹 서버에 실중인 동일한 프로세스에 의해서 처리 되기 때문에 이것은 수행속도를 향상시키고, 웹 서버의 성능을 크게 향상시킵니다. 수천 수백의 사용자들이 동시에 접속을 하여도 CGI에 비하여 웹 서버의 기능을 다 할 수 있는 장점을 갖고있습니다.
- 메모리 관리
자동으로 메모리를 관리해 주는 것은 자바의 기본적인 특징이기도 합니다. 자바에서는 GC(Garbage Collector)가 자동으로 사용되지 않고 있는 객체들을 다시 사용할 수 있는 메모리 공간으로 만들어 주는 동작을 JVM(Java Virtual Machine)에서 자동으로 수행을 해줍니다.
댓글
댓글 쓰기