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 형태의 결과를 클라이언트에 전송.
'자바기초' 카테고리의 다른 글
자바 의존성 관련 - 메이븐과 의존성 관리도구 (0) | 2020.05.13 |
---|---|
자바 의존성 관련 - 의존성과 라이브러리, 그리고 Jar (0) | 2020.05.13 |
자바관련상식 - JVM과 바이트코드 (0) | 2020.05.13 |
자바관련상식 - J2EE, JDK, JRE, J2SE 차이 (0) | 2020.05.13 |
hasNextInt() & nextInt() (0) | 2020.05.12 |