Monday, January 30, 2012

java output missing for cgi


In apache server,I want to use java to output something to the client,here's the java code




public class Compile {
public static void main(String[] args) {
System.out.println("Hello world");
}
}



it just simply output a hello world,then I compiled it an copy Compile.class to server's root.there is also a cmd file there(the OS is windows),the compile.cmd




@echo off
echo Content-Type: application/x-javascript
echo.
echo start
java Compile



it has been good so far,if I execute it in command line the "hello world" will be shown.



in apache's config file ExecCGI has been on and AddHandler cgi-script .cmd also been added. however,by visit [http://localhost/compile.cmd,only "start" displyed,the java's output "Hello world" disappeard.I can't find why



the same problem can be fond here http://www.gossamer-threads.com/lists/apache/users/189828

1 comment:

  1. Look in your server's error log - there should be an error in it indicating what happened. I suspect the problem is that java cannot find the class. Try to explicitly specify the classpath on the java line:

    java -classpath your_server_root_directory Compile


    You may consider adding the classpath to the HTTPD environment using SetEnv directive in the apache's httpd config.

    ReplyDelete