Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Lanciare un eseguibile da Java web

    Buongiorno a tutti,

    volevo sottoporvi una domanda: è possibiloe lanciare un eseguibile da un programma scritto in java che funziona via web???e se si, come???

    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Lanciare un eseguibile da Java web

    Originariamente inviato da aleche9argentin
    volevo sottoporvi una domanda: è possibiloe lanciare un eseguibile da un programma scritto in java che funziona via web???e se si, come???
    A dire il vero di "chiaro" c'è ben poco. Un programma Java che "gira" dove? Una "applet" in una pagina web? Una applicazione stand-alone (lanciata in locale o lanciata da web tramite Java Web Start)? Una "web application" Java EE?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Il programma java è una web application che gira in locale, praticamente viene richiamato dal browser in questo modo: http://localhost:8080/cupnet. L'eseguibile che deve essere chiamato è anch'esso in locale. Praticamente mi servirebbe sapere se è è possibiloe richiamarlo dalla web application java...

    so di non essere abbastanza chiaro e non so se queste infomazioni che ho dato sono abbastanza sufficienti per ricevere una risposta...i am sorry

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da aleche9argentin
    Il programma java è una web application che gira in locale, praticamente viene richiamato dal browser in questo modo: http://localhost:8080/cupnet. L'eseguibile che deve essere chiamato è anch'esso in locale. Praticamente mi servirebbe sapere se è è possibiloe richiamarlo dalla web application java...

    so di non essere abbastanza chiaro e non so se queste infomazioni che ho dato sono abbastanza sufficienti per ricevere una risposta...i am sorry
    allora se parli di web application policy di sicurezza (e ci mancherebbe) vietano (a meno di speciali permessi) di lanciare programmi o comunque andare a ravanare sul file system locale.
    La web application nasce per spostare la logica dal client al server, ergo non ha più senso che l'applicazione stia sul server senza fare riferimento a robe e/o requisiti sulla macchina (cmq brutti)?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da aleche9argentin
    Il programma java è una web application che gira in locale, praticamente viene richiamato dal browser in questo modo: http://localhost:8080/cupnet. L'eseguibile che deve essere chiamato è anch'esso in locale. Praticamente mi servirebbe sapere se è è possibiloe richiamarlo dalla web application java...
    Il codice della web application può benissimo lanciare "qualcosa" (a meno che ci siano restrizioni, dipende dall'application server, che comunque, se il server è "sotto" il tuo controllo puoi toglierle) usando le solite classi di Java dedicate a questo ovvero Runtime (e il suo exec() ) oppure ProcessBuilder.

    Il fatto è che la web application può lanciare qualcosa solo sul "server", ovvero dove gira. Non può far lanciare qualcosa sul client direttamente e indiscriminatamente!

    Nel tuo caso (particolare) ovvero "gira in locale", allora client e server sono la stessa macchina, quindi se il codice della web application avvia un altro processo lo vedi in questa stessa macchina.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Originariamente inviato da andbin
    Il codice della web application può benissimo lanciare "qualcosa" (a meno che ci siano restrizioni, dipende dall'application server, che comunque, se il server è "sotto" il tuo controllo puoi toglierle) usando le solite classi di Java dedicate a questo ovvero Runtime (e il suo exec() ) oppure ProcessBuilder.

    Il fatto è che la web application può lanciare qualcosa solo sul "server", ovvero dove gira. Non può far lanciare qualcosa sul client direttamente e indiscriminatamente!

    Nel tuo caso (particolare) ovvero "gira in locale", allora client e server sono la stessa macchina, quindi se il codice della web application avvia un altro processo lo vedi in questa stessa macchina.
    Grazie ancora per l'interessamento e l'aiuto. Nel mio caso, naturalmente l'applicazione è stata pensata per girare da client, ma in questo caso in particolare a me serve mettere sulla stessa macchina sia clien che server e quindi da quanto mi dici non ci dovrebbero essere problemi. Come deve essere il codice per richiamare l'eseguibile da java, magari associato ad un bottone???

    Grazie ancora e buona giornata

  7. #7
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Ti ricordo che stiamo parlando di una web application, quindi client e server: nel tuo caso girano sulla stessa macchina, ma il meccanismo di funzionamento è uguale al caso in cui i due ambienti siano "fisicamente" distinti, e questo devi tenerlo SEMPRE presente. La cosa importante, comunque, è che tu sia cosciente del fatto che il processo sarà eseguito sul sistema server, indipendentemente da quale sia il client.

    Quindi quello che succederà è:
    - premi un pulsante sulla pagina aperta nel browser (non ricordo se l'hai detto, ma do per scontato che stiamo parlando di un normalissimo browser web);
    - la pagina esegue una chiamata HTTP ad una servlet che gira sul server;
    - la servlet, a un certo punto della sua esecuzione, incontrerà ed eseguirà l'istruzione:

    codice:
    Runtime.getRuntime().exec(COMANDO_DA_LANCIARE);
    (lo stesso effetto può essere ottenuto tramite un uso equivalente della classe ProcessBuilder).

    Per altre informazioni ti consiglio di consultare la documentazione di
    Runtime (soprattutto i metodi exec()):
    http://download.oracle.com/javase/1....g/Runtime.html
    ProcessBuilder:
    http://download.oracle.com/javase/1....ssBuilder.html
    Process:
    http://download.oracle.com/javase/1....g/Process.html

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.