jsp&servlet

Servlet이란? JSP란? 스크립트 언어, 인터프리터 언어, 컴파일러 언어

핑구뱅구 2023. 1. 2. 17:38

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 객체 소멸