这是我在这里的第一个问题,所以请原谅我出错的地方。 我试图使用Ajax从html页面调用服务器上的shell脚本。 Ajax函数调用java动作,这个java动作类正在调用shell脚本。 shell脚本将在运行时写入输出。 我希望在浏览器上以与shell上显示的相同的方式显示输出。
我现在这样做的方式是将shell的输出写入文件,然后在网页上显示该文件的内容,但我想要的只是在网页上显示输出脚本写它。 该脚本需要2分钟才能运行,在运行时,它会继续在shell上写入输出。
谢谢
答案 0 :(得分:0)
一种方法是通过ProcessBuilder类start()
shell脚本。
获得Process实例后,您可以分别通过getOutputStream()和getErrorStream()获取标准输出和标准错误流。
这些InputStream包含您要查找的输出。当您阅读它们时,您可以将它们的输出写入您的servlet或JSP的响应输出流。您需要执行类似waitFor()进程的操作并创建线程来读取其输出并写入您的servlet的响应。