0

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

4

2 回答 2

2

首先,您需要熟悉 java servlet。以下是一些基本步骤:

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. 将 servlet 映射到您的 WEB-INF/web.xml 部署描述符上

<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 上,您可以创建一个指向上述 servlet 的 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 服务。
于 2013-09-03T04:31:05.827 回答
0

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

于 2013-09-03T02:54:45.047 回答