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。

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

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料