从jsp页面运行.exe文件的代码

时间:2013-09-03 02:15:15

标签: java xcode jsp servlets

我想从jsp按钮启动一个.exe文件,即,当我点击jsp页面上的一个开始按钮时,它应该启动exe文件。 我能够使用getruntime.exec()和main方法在java中编写代码,当我运行java代码时,我能够启动.exe文件,并可以查看文件在控制台中启动的结果。 我不知道如何将这个java类调用到jsp中并从那里运行exe文件。有人可以帮忙解决这个问题。

2 个答案:

答案 0 :(得分:2)

首先你需要be familiar with java servlets。以下是一些基本步骤:

<强> 1。创建一个servlet来运行exe程序

package mycompany;

public ExeRunnerServlet extends HttpServlet {
  protected doGet(HttpServletRequest req, HttpServletResponse res) throws Exception {
    String cmdToRunExe = //..

    // Implement exe running here..

    PrintWriter writer = res.getWriter();
    writer.append("Command has been run");
  }
}

这个servlet只提供服务GET http方法。在线搜索有关如何在Java中运行exe的代码,例如:https://stackoverflow.com/a/10686041/179630

<强> 2。在您的WEB-INF / web.xml部署描述符

上映射servlet
<web-app>
  <servlet>
    <servlet-class>mycompany.ExeRunnerServlet</servlet-class>
    <servlet-name>ExeRunnerServlet</servlet-name>
  </servlet>

  <servlet-mapping>
    <servlet-name>ExeRunnerServlet</servlet-name>
    <url-pattern>/exerunner</url-pattern>
  </servlet-mapping>
</web-app>

这会将上面的servlet映射到http://myhost/mywarname/exerunner

第3。从JSP链接

最后在您的JSP上,您可以创建一个html链接到上面的servlet,它将执行您的exe程序。假设您的jsp位于http://myhost/mywarname/page.jsp

<a href="exerunner">Run exe command</a>

几句警告

  • 创建单个servlet并将它们手动映射到web.xml被认为是一种过时的方法。考虑更新的Web框架,例如Spring MVC / JSF。
  • 从java调用exe通常被认为是一种糟糕的方法,尤其是涉及过程分叉时。我见过jvm占用800mb内存的情况,整个过程必须暂时重复,只是为了调用exe命令。考虑其他集成方法,例如Web服务。

答案 1 :(得分:0)

将main方法更改为executeProgram等其他方法,然后从jsp调用该方法。