PDA

View Full Version : Servlet e supporto AWT


tohni
22-11-2006, 17:18
Ciao a tutti! Ho il seguente problema: da una servlet devo lanciare un programma che fa uso di AWT.

Ho provato a lanciare il programma con Runtime ma non funziona.
Ho provato a lanciare il programma da un nuovo thread lanciandolo come metodo ma non funziona.

Qualcuno sa come posso fare?

Il SO è Sarge, tomcat 5.0.28 ed uso le jwm 1.4.2

Grazie

andbin
22-11-2006, 17:22
Ciao a tutti! Ho il seguente problema: da una servlet devo lanciare un programma che fa uso di AWT.Attenzione..... una servlet "gira" sul server. Se anche riesci a lanciare una applicazione esterna, quella poi gira sul server. È proprio quello che vuoi???

tohni
22-11-2006, 17:36
Attenzione..... una servlet "gira" sul server. Se anche riesci a lanciare una applicazione esterna, quella poi gira sul server. È proprio quello che vuoi???
Si lo so, è proprio quello che voglio. Grazie cmq per avermi avvisato.

PGI-Bis
22-11-2006, 18:25
Non funziona è un po' vago :D.

Se usi Runtime e non capita nulla allora l'insieme di comandi che usi per lanciare l'applicazione non è riconosciuto dal sistema operativo come valido.

Fai prima un esperimento off-line per determinare quale sia il procedimento corretto per lanciare un'applicazione java.

In linea general-generalissima, devi passare una sequenza di comandi ad un terminale quindi attraverso runtime dovresti

aprire un terminale (mi pare si possa anche in modalità nascosta ma non chiedermi di più :D)
passargli la corretta sequenza di stringhe che lancia il programma esterno.

Funziona così anche in windows, non è un vezzo di linux. Ad esempio:

String[] cmd = {
"cmd", "/C", "start", "java", "-cp", "ilclasspath", "nomeclassemain"
};
File workingDir = la directory in cui si trova la classe main (o la radice del suo package)
Runtime.getRuntime().exec(cmd, null, workingDir);

Sono quasi certo che una cosa del genere sia ampiamente fattibile anche su una debian (anzi, mi stupirei del contrario). Non ne ho una sottomano con cui provare.