Eseguire un programma esterno da un Servelet

Esempio di codice per eseguire un programma esterno da una Servlet Java. Nell’esempio viene eseguito il comando “cmd dir” che esiste in qualsiasi versione di Windows.  In ambiente Linux si deve modificare l’esempio con un altro.

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }    

    private void processRequest(HttpServletRequest request, HttpServletResponse response)
                                throws IOException {        
        response.setContentType("text/plain");
        PrintWriter out = response.getWriter();
        String[] command = {"CMD", "/C", "dir" };
        Process process = null;
                
        try {                    
            ProcessBuilder pb = new ProcessBuilder(command);
            pb.redirectErrorStream(true); // equivalent of 2>&1
            process = pb.start();

            BufferedReader in = 
                    new BufferedReader(new InputStreamReader(process.getInputStream()));

            // Read and print the output
            String line = null;
            while ((line = in.readLine()) != null) {
              out.println(line);
              System.out.println(line);
            }
        }        
        catch (Exception ex) {
               System.out.println(ex.toString());
        }
    }
  }

 

 

 

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...