Web Dev/JSP

JSP 1강 :: 웹 앱 구성요소, JSP, 서블릿, CGI vs WAS

HJPlumtree 2022. 9. 28. 19:47

JSP에서 기억하고 싶은 내용

 

 

웹 브라우저를 이용해서 하이퍼텍스트를 볼 수 있다

HTML로 표현되고 HTTP 프로토콜을 사용해서 전송된다

 

 

정적 vs 동적 문서

정적 웹 문서

서버가 동일한 문서를 전달해주는 것

 

동적 웹문서

문서안에 프로그래밍적인 요소가 있다

 

JSP

서버측 동적 웹문서를 작성한다

 

 

웹 어플리케이션 구성요소

1. 웹브라우저

: 웹 서버에 요청하고 결과 출력

2. 웹 서버

: 요청을 처리하고 결과를 클라이언트에 보낸다

3. 웹 어플리케이션 서버(WAS)

: 동적인 프로그래밍을 처리하는 서버

: JSP 프로그램 실행하고 결과를 웹 서버로 전달

4. 데이터베이스

: 데이터 저장

 

 

컴파일 | 비컴파일 방식

컴파일 방식

컴파일을 해서 실행 파일이나, 바이트 코드가 만들어져 사용된다

Java 서블릿, JSP, Perl, C, C++ 등

 

비컴파일 방식

매 요청마다 스크립트 해석해서 실행

 

 

CGI | WAS

CGI(Common Gateway Interface)

고급 언어 프로그램을 실행해서 HTML 코드 생성해서 전달

요청마다 프로세스를 만들어 처리한다

 

WAS(Web Application Server)

하나의 자바 가상 기계 내에서 수행

요청 처리를 위해 스레드 생성(1개의 프로세스)

++ API 제공, 부하 균형, 고장 조치 등

 

 

웹 서버(A.k.a. HTTP 서버)

클라이언트에서 요청 받고, 결과 전달

HTTP 프로토콜 사용해서 클라이언트와 통신

예) Apache HTTP Server, IIS, Nginx

 

 

JSP 시작

서블릿(Servlet: Server + Applet)

  • Java에 언어에 기초한 웹 프로그래밍 기술
  • Java 언어를 서블릿 클래스를 만들고,
    컴파일된 바이트 코드를 서버에서 웹 서비스로 제공
  • 크나큰 단점: 소스 수정하면 다시 컴파일해서 서버에 올려야된다

 

 

JSP

  • 서블릿 대신 사용하는 스크립트 형식 언어
  • HTML 페이지 내에 삽입된다
  • 결국 JSP 페이지는 서블릿으로 변환
  • WAS가 자동으로 JSP 페이지를 변환하고 컴파일해서 웹 서비스 제공

 

JSP 처리 과정

1. 클라이언트: 요청

2. WAS: JSP 페이지 -> 서블릿 실행 환경 -> 서블릿 클래스 파일

3. 결과 응답

 

웹 컨테이너(A.k.a 서블릿 컨테이너)

JSP 서블릿으로 변환

Java로 구현된 서블릿 실행 환경

예) Tomcat, WebLogic, JBoss 등

 

 

JSP @ flaticon