PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aufruf externe Anwendung in jsp



dimevit
15-11-2006, 14:04
Hallo zusammen,

ich will eine jsp Datei erstellen, die mir eine externe Anwendung aufruft. Ich hab die folgenden Zeilen eingetippt aber es funktioniert nicht. Weiss jemand warum?



<%
try{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("/user/bin/mozilla");
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
}catch (Throwable t){
t.printStackTrace();
}
%>


MfG
Dime

Waxolunist
16-11-2006, 09:09
Also ich könnte mir das nur mit falschen Zugriffsrechten oder so erklären. Bei mir funzt das. Nimm mal als Test ein kleines Skript her, das eine echo Ausgabe macht oder ein touch und gib diesem die Rechte 777. Der User, der deinen AppServer ausführt, also z.B. tomcat, der muss auch das Recht haben mozilla ausführen zu können.

Ausserdem glaube ich heißt das Verzeichnis nicht user, sondern usr.

mamue
17-11-2006, 19:37
Was steht denn im Stacktrace?
Ich frage mal rein interessehalber: Kann man wirklich eine grafische Anwendung (Mozilla) in einem Servlet starten? Wo bekommt der denn seinen Bildschirm her, oder wo malt die Anwendung rein? Ins Logfile?
Nebenbei, wieso eigentlich "System.out.println", wäre nicht "out.println" in der JSP angebracht? Immerhin könnte man dann auf der Webseite den Text sehen. Aber ich glaube, das spielt hier keine Rolle und Du wirst sicherlich Deine Gründe dafür haben.

HTH,
mamue

Waxolunist
20-11-2006, 09:23
Nochwas, klarerweise ruft der die Anwendung auf dem PC auf, auf dem der Tomcat läuft. Geht also nur mit localhost.

mamue
20-11-2006, 10:52
Geht also nur mit localhost. Muß man dann nicht unter Unix (X11) noch den Bildschirm "freigeben", etwa mit "xhost +", damit auch nicht angemeldete user den Grafikkontext nutzen dürfen? Ist schon lange her, seit ich das zuletzt genutzt habe - ich glaube mittlerweile gibt es mit xauthority (??) eine modernere und sicherere Variante zu xhost.

HTH,
mamue

Waxolunist
20-11-2006, 12:22
Gute Frage.

Ich bin momentan in der Arbeit und da haben wir nur Windows auf den lokalen Maschinen.

Wegen Unix müsste ich das daheim einmal ausprobieren.

anda_skoa
20-11-2006, 16:26
Ja, xhost für den entsprechenden User unter dem der Service läuft und natürlich auch eine enstprechend gesetzte DISPLAY Variable im Environment des Servers.

Ciao,
_