Servlet이란? JSP란? 스크립트 언어, 인터프리터 언어, 컴파일러 언어
Servlet이란?
- 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program
- Java 코드 안에 HTML 코드
- 웹 개발을 위해 만든 표준
JSP(Java Server Pages)란?
- Java 언어를 기반으로 하는 Server Side 스크립트 언어
ex) <% ... %> 기호를 쓰고, 그 안에 자바 코드를 삽입하는 방식
- HTML 코드 안에 Java 코드
- Servlet를 보완하고 기술을 확장한 스크립트 방식 표준
스크립트 언어란??
- 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어를 가리킨다.
- 응용 프로그램과 독립하여 사용되고 일반적으로 응용 프로그램의 언어와 다른 언어로 사용되어
최종 사용자가 응용 프로그램의 동작을 사용자의 요구에 맞게 수행 할 수 있도록 해준다.
- 비 스크립트 언어인 C, C++, Java등은 컴파일(Compile) 된 후 독립적으로 작동하는 하나의 완전한 응용 프로그램
- 스크립트 언어의 종류 : javascript, jQuery, JSP, PHP, Python 등등..
스크립트 언어 == 인터프리터 언어
- 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램을 말한다.
- 소스 코드를 한번에 기계어로 변환하는 컴파일러와 달리,
컴파일 하지 않고 소스 코드를 한 줄씩 읽어들여 실행한다.
- 실행파일을 별도로 생성하지 않기 때문에 실행시마타 인터프리트 과정이 반복 수행되어 실행 속도가 느리다
컴파일러 언어
- 컴파일러는 고급 언어로 작성 된 소스 코드를 저급 언어로 번역하는 프로그램을 말한다.
- C, C++, JAVA
- 저급 언어는 컴퓨터 내부에서 바로 처리 가능한 언어를 말한다.
- 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일을 만든다.
- 컴파일 단계와 실행 단계가 각각 분리되어 있으며, 컴파일은 단 한번만 수행된다.
- 실행시에는 컴파일 과정을 거치지 않고 실행만 하면 되므로 코드 실행 속도가 빠르다.
서블릿 -> 웹에서 클라이언트로부터 요청받아서 실행되는 자바 프로그램이다.
1) 클라이언트(브라우저) 에서 요청을 한다 (httprequest로 그 요청에 대한 정보를 받는다.)
2) WAS에서 request, respones 객체를 생성한다.
3) WAS에서 쓰레드 하나를 할당해서 그 요청을 처리하게 한다.
4) 요청에 해당하는 서블릿으로 가서 request, response 객체와 함께 서블릿이 실행이 된다.
5) 결과물을 response에 준다.
6) reponse를 WAS에 -> WAS는 브라우저에 주어 답을 한다.
7) 쓰레드 종료, request, response 객체 소멸