xlfxswok 2009-10-25 09:02
浏览 240
已采纳

如何在jsp页面中启动本地的ProE程序

做一个项目时,需要在网页中启动ProE程序,于是就找了一些启动本地程序的代码,程序是这样设计的:在网页加一个按钮,该按钮的onclick事件是跳转到proeAction.do文件(proeAction.do是struts下执行Action动作所需要的跳转链接),然后执行相应的ProeAction.class文件,在ProeAction.class中写了一段调用PreE的程序,结果ProE是能启动了,但只能是在服务器所在的机子上启动,即在客户机上点击这个按钮,启动的不是本地客户机上ProE程序,而是服务器所在的机子上的ProE程序,看来使程序写的不对路,希望高手们能够给我提供一些建议或方法,能有一些示例代码就更好了,多谢了!
以下是程序代码:
public class ProeAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
try
{
String home = "C:/Program Files/proeWildfire 3.0/bin/";//路径这里不能动态的变化也是一个问题
String command = "proe.exe";
File dir = new File(home);
System.out.println("1");
Process p = Runtime.getRuntime().exec(command, null, dir);
System.out.println("2");
StringBuffer strOutput = new StringBuffer();
BufferedReader in = new BufferedReader(new InputStreamReader(p.
getInputStream()));
System.out.println("3");
String strProc;
while ((strProc = in.readLine()) != null) {
strOutput.append(strProc + "\n");
System.out.println("4");
}

       p.waitFor();

       p.destroy();
   }

        catch(Exception e){e.printStackTrace();
            System.out.println("Something wrong happened");
          }

return mapping.findForward("success");
}
}
这些代码是需要修改修改就行了,还是彻底不行,必须换掉才能启动本地程序,希望牛人指教

  • 写回答

1条回答 默认 最新

  • CaiHuajiang 2009-10-25 10:31
    关注

    无疑代码写得很妙,但是逻辑首先就错了。
    jsp页面不是在用户端运行的程序,而本质是在服务器端运行的程序。
    对于用户来说,jsp页面不过是处理后的html,所以根本不可能调用到客户端的应用程序。
    所以这个办法根本行不通。
    可以使用js来调用,要么做成applet。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?