다음 이전 차례

4. Java CGI 프로그램 실행하기

4.1 CGI 모델 상에서 자바 프로그램의 실행을 막는 장애물

웹 서버에서 자바 프로그램을 실행시키는데 있어서 두 가지 문제점이 있다:

자바 프로그램을 보통 실행파일처럼 실행시킬 수 없다.

커멘드 라인상에서 자바 런타임 인터프리터를 실행하고 (프로그램이 실행될 수 있도록) 초기화 클래스가 있어야 한다. HTML 형태로는 커멘드 라인을 웹 서버에 보낼 수 없다.

자바는 환경(변수)에 대해 일반적인 액세스할 수 없다.

자바 프로그램이 필요로 하는 개개의 환경변수는 정확이 넘겨져야(pass) 한다. C 에서의 getenv() 함수 같은 메소드는 없다.

4.2 Java CGI프로그램을 실행할 때의 문제점 극복

위의 장애물을 처리하기 위해, 자바 인터프리터에게 필요한 정보를 제공하는 쉘 CGI프로그램을 작성하였다.

java.cgi 스크립트

이 쉘 스크립트는 사용하고자 하는 Java CGI프로그램과 HTTP데몬 사이의 상호작용(interaction)을 관리한다. 이 스크립트는 실행하고자 하는 프로그램의 이름을 서버가 제공하는 데이타로부터 뽑아내며 임의의 임시 파일 안에 환경 데이타(environment data) 모두를 모은다. 그리고나서 커멘드 라인에 덧붙여진 환경 정보 파일의 이름과 프로그램 이름을 가지고 자바 런타임 인터프리터를 실행시킨다. java.cgi스크립트는 지역 경로에 관한 방침을 정하라 에서 구성되었으며 인스톨되었다.

HTML form으로 부터 java.cgi 호출하기

Java CGI 프로그램을 사용하는 필자의 폼은 다음과 같이 form action을 명시한다:

<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">
여기서 /cgi-bin/ 은 여러분의 CGI 바이너리 디렉토리이며, java.cgi는 웹상에서 Java 프로그램을 실행시키게 해주는 자바 front-end 이며, CGI_Test는 실행시킬 자바 프로그램 이름의 예이다.
다음 이전 차례