Halihallo Kay
habe eine Java-Applikation geschrieben. Diese App soll nun Skripte wie PERL oder PHP ausführen können. Dazu benötige ich ja die Implementierung einer CGI-Schnittstelle - richtig?
Richtig, falls es sich bei den Scripten um CGI-Scripte handelt.
Nun stehe ich allerdingsvor dem Problem, dass ich nicht weiß, wie man in Java CGI-Programme ausführt.
Genauso wie jedes andere Programm. Ein CGI-Programm ist auch nur ein
Programm. Ein Programm, dass seine Eingaben jedoch nicht über die
Kommandozeile, sondern über die Umgebungsvariablen (oder
Standardeingabe bei POST-Formularen) erhält.
Starte den Perl/PHP Interpreter z.B. über
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec(java.lang.String[, java.lang.String[], java.io.File)],
übergib das CGI-Script (z.B. test.pl oder test.php) als Parameter und
setze die Umgebungsvariablen entsprechend. Es gibt eine entsprechende
exec() Methode, welcher du die neuen Environment-Variablen übergeben
kannst; die Signatur derjenigen sieht so aus:
public Process exec(String[] cmdarray,
String[] envp,
File dir)
throws IOException
über die Klasse Process kannst du die Ausgabe des CGI-Scriptes
einlesen.
Die Umgebungsvariablen kannst du ja vielen Quellen entnehmen, suche
einfach nach:
CGI Environment Variables
QUERY_STRING
REQUEST_METHOD
etc.
Und nun wünsche ich viel Spass bei der Umsetzung :-)
Viele Grüsse
Philipp