从外部运行程序中获取字符串

时间:2010-12-27 10:24:58

标签: java javascript eclipse jsp servlets

我有带文本字段和按钮的jsp页面。我还有另一个项目的罐子。 当我点击按钮时,调用jar的MAIN.class并且程序在独立窗口(JFrame)中运行。 用户完成程序并退出后,我需要获取退出时生成的程序字符串并将其粘贴到文本框中(字符串是HTML代码)

是否有其他人遇到此问题且有解决方案? 谢谢 亚历

2 个答案:

答案 0 :(得分:0)

如果您的“来自其他项目的jar”将其输出打印到标准输出。您可以使用以下代码在servlet中获取输出。

          try {
                Runtime rt = Runtime.getRuntime();
                //Process pr = rt.exec("cmd /c dir");
                Process pr = rt.exec("{EXTERNAL_JAR_EXECUTE_COMMAND}");

                BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

                String line=null;

                while((line=input.readLine()) != null) {
                    System.out.println(line);
                }

                int exitVal = pr.waitFor();

            } catch(Exception e) {
                System.out.println(e.toString());
                e.printStackTrace();
            }

答案 1 :(得分:0)

这在生产环境中无法发挥作用。 Java代码在webserver(服务器端)执行,HTML代码在webbrowser(客户端)执行。基本上,Swing的东西只能在网络服务器上执行,而不是在webbrowser上执行。只有当webserver和webbrowser在物理上在同一台机器上运行时(例如在本地开发时),它才有效。

将它包装在与Applet通信的HTTP服务器中,或者只是将Swing的东西转换为HTML,这样你就不需要麻烦了。