자바(Java)/JAVA 2EE

자바 기반의 웹 프로그램

본클라쓰 2010. 12. 9. 09:08

 

 자바에서 웹 프로그램을 제작하기 위해서는 서블릿(Servlet)을 기본 컴포넌트로 사용한다. 여기에 표현을 위한 컴포넌트인 JSF나 JSP, JSTL 등을 사용한다. 서블릿은 CGI(Common Gateway Interface)방식으로 코드를 작성하고 JSP는 서버 사이드 스크립트(Server Side Script)방식을 사용한다. CGI 방식은 정젖 웹 페이지 제작의 한계를 극복하기 위해 데이터베이스와 상호 연관성있는 동적 웹 페이지 작성에 유리한 언어로 각광을 받았다.

 

 하지만 CGI방식은 작성과 유지보수에 한계를 가지고 있었다. 아래에 있는 C언어로 구현된 CGI코드를 보면 왜 작성과 유지보수가 어려운지 알 수 있다.

 

printf("<html><head><title>CGI의 결과물</title></head>");

printf("<body>");

 

 위 코드에 보듯 출력함수 안에 HTML 페이지를 작성하고 있다. 이런 코드는 코드를 이해하는데 어려움이 있으며 코드를 수정하기 위해서는 프로그래밍 코드와 HTML 태그 모두를 살펴봐야 하는 문제점이 있다. 그래서 등장한 것이 서버 사이드 스크립트 방식이다. 서버 사이드 스크립트 방식의 대표적인 언어로 ASP, PHP, JSP가 있다.

 

 

 

CGI(Common Gateway Interface)

 

CGI는 특별한 라이브러리나 개발 툴을 지칭하는 것이 아니라 웹 서버와 별도로 만들어 놓은 프로그램 간의 데이터 교환 방식을 일컫는 말이다. CGI방식은 어떤 프로그래밍 언어로도 구현이 가능하고 별도로 만들어 놓은 프로그램에 HTML의 GET이나 POST 메소드을 통해 클라이언트의 데이터를 환경 변수로 전달하고 프로그램의 표준 출력 결과를 그대로 클라이언트에 되돌려 주는 방식이다.