java servlet,在服务器上运行exe文件到客户端

时间:2012-11-04 20:26:08

标签: java servlets client exe

我有一个在服务器上运行的java servlet,以及一个位于同一服务器上的'exe文件',

我希望,在响应客户端传递参数到servlet时,运行位于服务器上的exe文件并将其显示给客户端,甚至是屏幕截图,

任何想法?? !!请帮忙

2 个答案:

答案 0 :(得分:1)

您可以使用ProcessRuntime

例如:

Runtime r = Runtime.getRuntime();    
Process p = r.getRuntime().exec("C:\\newfolder\\run.exe");  

有关截屏,请参阅how to take sc in java

这样您就可以保存图像,然后将此图像发送给用户。

要将图像发送到客户端,请参阅how to send file from sever to client

这些是碎片,你需要把它们放在一起

更新1:杀死你可以使用p.destroy()的exe(虽然不是一个好的实现,因为它强行杀死了这个过程)

UPDATE2:检查进程(执行你的exe)是否因此检查exe是否正在运行,你可以参考how to check if a process is running

答案 1 :(得分:0)

您可以通过以下代码在Java中运行外部命令:

Process p = Runtime.getRuntime().exec("your_external_program_here");

您也可以传递参数,只需修改上面的行,以包含您想要传递给程序的参数。

要检索流程的“输出”,您需要获取流程的输入流:

InputStream output = p.getInputStream();

请注意,输入流是流程的管道输出。然后,您可以查看内容(建议使用缓冲的阅读器),如下所示:

String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(output));
while ((line = reader.readLine()) != null) { ... }

或者您也可以查看更易于使用的ProcessBuilder:)