Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Runtime.getRuntime

  1. #1

    Runtime.getRuntime

    Ciao a tutti nuovamente.

    Ho questo codice in una pagina jsp:


    codice:
    <%@ page import="mypack.ExecuteCommand"; %>
    
    <%
    
    ExecuteCommand esegui = new ExecuteCommand(5);
    
    %>
    
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@page import="com.sun.xml.internal.bind.v2.schemagen.xmlschema.Import"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link href="style.css" rel="stylesheet" media="all" />
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Insert title here</title>
    </head>
    <body>
    <div align="center" class="ciao">
    <table align="center" class="tabella">
    <tr>
    <td>
    prova mia
    
    </td>
    </tr>
    </table>
    </div>
    </body>
    </html>
    il package mypack è il seguente:


    codice:
    package mypack;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.util.Timer; 
    import java.util.TimerTask; 
    import java.io.BufferedReader; 
    import java.io.IOException; 
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    
    /**
     * Servlet implementation class for Servlet: ExecuteCommand
     *
     */
     public class ExecuteCommand  {
       static final long serialVersionUID = 1L;
       
    	
    	Timer timer; 
    	  
    	  
        public ExecuteCommand ( int secondi )   {  
            timer = new Timer (  ) ; 
            timer.schedule ( new RemindTask (  ) , secondi*1000 ) ; 
         }  
     
     
        class RemindTask extends TimerTask  {  
            public void run (  )   {
    try{             
                Runtime rt = Runtime.getRuntime();
    			//final Process p = rt.exec("cmd.exe /c C:/Programmi/VideoLAN/VLC/vlc.exe -vvv C:/AwesomeGod.mp3");
                final Process p = rt.exec("notepad.exe");
               timer.cancel (  ) ;  
    }catch(Exception e){}
             }  
         } 
    	  	    
    }
    La domanda è:

    non è possibile avviare un programma, anche un semplice notepad all'avvio di una pagina jsp dopo un tot di secondi senza far richiamare una servlet da un form?

    P.S. Il codice del package funziona benissimo se messo standalone o se richiamato come servlet

    Ciao a tutti,

    Cristian
    Believe in GOD, you could only have Benefits from him!!

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Una jsp E' una servlet, quindi se funziona su una servlet non vedo perchè non dovrebbe farlo su una jsp.
    Il codice della classe ExecuteCommand (che per qualche motivo chiami "package") non funziona se opportunamente inserito in una jsp? Non sono sicuro che tu abbia fatto una prova...

    Ad ogni modo, una possibile alternativa è creare e avviare un nuovo Thread in cui la prima istruzione del metodo run() che andrai a ridefinire è una sleep(), eventualmente parametrizzabile in fase di costruzione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Non ho capito bene che vuoi fare se non il far partire notepad dopo N secondi (credo d'aver capito bene)

    Per questo ti basta:
    codice:
    Thread.sleep(secondi);

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.