본문 바로가기
카테고리 없음

JSP란

by hhenyy 2024. 3. 4.

JSP 란 JavaServer Pages 의 약자이며  HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.

(Java 언어를 기반으로 하는 Server Side 스크립트 언어) 

 

더보기
닫기

스크립트(Script) 언어란 소스 코드를 컴파일(Compile)하지 않고도 실행할 수 있는 프로그래밍 언어를 말한다.

예를 들어 C나 비주얼베이직, 자바같은 경우는 작성한 소스를 컴파일러를 통해 기계어 코드로 변경해야 사용자가 실행할수 있는 실행 파일이 얻어지는데 비해 스크립트 언어는 별도의 컴파일 없이 내장된 번역기에 의해 번역 되므로 바로 실행 할 수 있다.

스크립트 언어는 소스를 작성한 후 컴파일 과정 없이 바로 실행하여 결과를 확인할 수 있다는 장점이 있는 반면에 번역 과정을 거쳐야 하기 때문에 다소 느리다는 단점이 있다. C언어나 Java와 같은 비스크립트 언어의 경우 실행 속도가 빠른 장점이 있는 반면 컴파일 과정을 거쳐야 하는 등 개발 과정이 조금 복잡하다는 단점이 있다.

 

<스크립트 언어 사용하는 곳>

 

1. 시스템에 사용

유닉스의 쉘(Shell) 스크립트 , 윈도우의 배치(Batch) 스크립트처럼 일괄 처리 작업에 사용.

2. 웹 어플리케이션에 사용
일반적으로 스크립트 언어는 빠른 성능이 필요하지 않은 웹 애플리케이션을 만드는 데 이용되어 왔으며, 크게 서버 사이드 스크립트(server-side-script) 와 클라이언트 사이드 스크립트(client-side-script)로 나눌수 있다.

- 서버 사이드 스크립트(server-side-script) : 해당 소스의 실행 결과를 확인하기 위해 웹서버를 거쳐야 하는 스크립트를 말하며, ASP, PHP, JSP, PYTHON, PERL, RUBY 등이 있다.

-클라이언트 사이드 스크립트(client-side-script) : 내장된 번역기(인터넷 익스플로러등)에 의해 실행되는 스크립트로 서버를 거치지 않고 사용자쪽(웹서버에 접속한PC)에서 처리되는 스크립트를 말하며, JavaScript, VBScript, JScript등이 있다.

 

 

 

JSP는 기존의 단순한 html을 서비스하던 웹서버의 기능을 보다 발전시켜 웹 기반의 프로그램을 할 수 있도록 만든 것이다. 그리고 서블릿을 기반으로 하고 있으며 서블릿의 프로그램적인 요소를 발전시켜 사용자가 보다 쉽게 다룰 수 있도록 만든 스크립트 기반의 프로그램이다.

 

 

JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고

그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

 

 

 

 

 

 

JSP는 Servlet 기술의 확장형이라고 볼수 있다.

Servlet을 보완한 스크립트 방식 표준으로, Servlet의 모든 기능 + 추가적인 기능 을 가진다.        

All features of Servlet  +  Implicit objects
predefined tags
expression language
custom tags

 

<html 과 jsp의 동작 원리  >

 


웹어플리케이션(Web Application)

웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷쇼핑, 등등 인터넷에서 하는 여러 서비스를 총칭

하며 사용자가 필요한 요청(Request) 를 하고 서버에서는 이에 해당하는 요청을 수행하고 그리고 요청한 데이터를 응답(Response) 한다.

 

웹 어플리케이션이 위와 같이 동작하기 위한 몇가지 구성요소가 있다.

웹 브라우저(Web Browser) : 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다.  ( 크롬, IE, Safari, Firefox 등.. )

웹 서버(Web Server)  : 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠롤 담당한다.

웹 어플리케이션 서버 ( Web Application Server ) : 줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

데이터베이스 : 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.




자바 서블릿(Java Servlet)

서블릿이란 웹페이지를 동적으로 생성하기 위해 서버측 프로그램을 말한다. 

이는 자바 언어를 기반으로 만들지며 웹 어플리케이션 서버 ( Web Application Sever ) 위에서 컴파일 되고 동작한다.

jsp도 servlet 이다!

 

jsp와 servlet 의 비교