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