본문 바로가기

자바기초

자바관련상식 - CGI와 서블릿 그리고 톰캣 (+JSP)

CGI (common gateway interface)

- 서버와 응용프로그램 사이에 데이터를 주고 받기 위한 표준화된 방법

- 요청이 있을 때마다 새로운 프로세스가 생성되어 응답. (서블릿보다 무겁다.)

 

톰캣 (Tomcat)

- Java 기반의 서블릿 컨테이너(혹은 웹 컨테이너)만 있는 웹 애플리케이션 서버

- 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여, JSP와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다.

- 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, HTTP 서버도 자체 내장하기도 한다.

 

서블릿 (Servlet)

- 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바(Java)로 작성된 서버측 프로그램

- JavaEE 스펙 중 일부 기능.

- 외부 요청마다 프로세스보다 가벼운 스레드로써 응답. (CGI보다 가볍다)

- 자바 코드 안에 HTML을 포함.

- 일반적으로 웹 서버는 정적인 페이지만을 제공.

   -> 웹서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿

       , 동적인 페이지를 생성하는 어플리케이션이 CGI

(EX. 쇼핑몰, 온라인 뱅킹 등)

 

JSP (Java Server Pages)

- HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어

  (<- 서블릿이 있는데 JSP를 왜 써야할까에 대한 답변이 될 수 있음.)

- JavaEE 스펙 중 일부 기능.

- 클라이언트에서 서비스 요청 -> JSP의 실행을 요구 -> (웹 애플리케이션 서버의 서블릿 컨테이너에서) JSP는 서블릿 원시코드로 변환 -> 서블릿 원시코드는 바로 컴파일된 후 실행 -> HTML 형태의 결과를 클라이언트에 전송.

 

 

+ https://wikidocs.net/22309

+ https://m.blog.naver.com/acornedu/221128616501