자바에서는 웹 브라우저와 웹 서버를 활용하여 좀 더 쉽게 서버 애플리케이션을 개발할 수 있도록 '서블릿(Servlet)'이라는 기술을 제공한다. 이 서블릿 기술을 이용하여 웹 애플리케이션을 개발하는 것을 '서블릿 프로그래밍'이라고 하는데, 이 '서블릿 프로그래밍'의 핵심은 Servlet 인터페이스를 이해하는 것이다. 먼저 이런 기본 원칙을 배운 뒤 HttpServlet의 사용법을 배워야 한다.
웹 브라우저가 웹 서버에게 실행 요청을 보내고, 웹 서버는 클라이언트가 요청한 프로그램을 찾아서 실행하면 해당 프로그램은 작업을 수행하고 그 결과를 웹 서버에게 돌려준다. 그러면 웹 서버는 그 결과를 HTTP 형식에 맞추어 웹 브라우저에게 보낸다. 이 때 웹 서버와 프로그램 사이의 데이터를 주고받는 규칙을 CGI(Common Gateway Interface)라 한다. 웹 서버에 의해 실행되며 CGI 규칙에 따라서 웹 서버와 데이터를 주고 받도록 작성된 프로그램을 'CGI 프로그램'이라고 한다.
CGI 프로그램은 C, C++, JAVA와 같은 컴파일 언어나 Perl, PHP, Python, VBScript 등 스크립트 언어로도 작성할 수 있다. 컴파일 방식은 기계어로 번역된 코드를 바로 실행하기에 실행 속도가 빠르지만 변경 사항이 발생할 때 마다 재컴파일을 하고 재배포 해야 하는 문제가 있다. 그에 비해 스크립트 방식은 실행할 때마다 소스 코드의 문법을 검증하고 해석해야 하기 때문에 실행 속도가 느르지만 변경 사항이 발생하면 단지 소스 코드를 수정하고 저장만 하면 되기 때문에 편리하다.
자바 CGI 프로그램은 C/C++처럼 컴파일 방식이다. 자바로 만든 CGI 프로그램을 '서블릿(Servlet)'이라고 한다. 자바 서블릿이 다른 CGI 프로그램과 다른 점은, 웹 서버와 직접 데이터를 주고받지 않고 전문 프로그램인 '서블릿 컨테이너(Servlet Container)'에 의해 관리된다. '서블릿 컨테이너'는 서블릿의 생성과 실행, 소멸 등 생명주기를 관리하고 '서블릿'을 대신하여 CGI 규칙에 따라 웹 서버와 데이터를 주고받는다. 여기서 '서블릿'과 '서블릿 컨테이너' 사이의 규칙을 알아야 한다.
자바 웹 애플리케이션 개발자는 JavaEE 기술 사양에 포함된 Servlet 규칙에 따라 CGI 프로그램을 만들고 배포한다.
참고도서 : https://freelec.co.kr/book/1674/
[열혈강의] 자바 웹 개발 워크북
[열혈강의] 자바 웹 개발 워크북
freelec.co.kr
'교재 실습 > 자바 웹 개발 워크북' 카테고리의 다른 글
14. 웹 프로젝트 준비 (0) | 2022.01.08 |
---|---|
13. 서블릿, JSP vs. Java EE vs. WAS (0) | 2022.01.08 |
11. 파일 업로드 (1) | 2022.01.06 |
10. POST 요청 (0) | 2022.01.05 |
9. GET 요청 (0) | 2022.01.04 |
댓글