Web applications 从web应用程序运行命令

Web applications 从web应用程序运行命令,web-applications,command-line,terminal,batch-processing,certificate-authority,Web Applications,Command Line,Terminal,Batch Processing,Certificate Authority,我目前正在尝试从web应用程序在命令行上运行命令。是否可以从web应用程序执行此操作 commandon终端: cd ejbca/bin ./ejbca.sh batch 当按下按钮时,如何在web应用程序中运行这些功能?如果我是你,我会让侦听器与web应用程序分开运行。当你按下按钮时,只需向听者发送一条消息,听者就会照常做 对于消息传递,您可能需要使用。Java代码 Process proc = Runtime.getRuntime().exec("myshell.sh"); myshel

我目前正在尝试从web应用程序在命令行上运行命令。是否可以从web应用程序执行此操作

commandon终端:

cd ejbca/bin
./ejbca.sh batch

当按下按钮时,如何在web应用程序中运行这些功能?

如果我是你,我会让侦听器与web应用程序分开运行。当你按下按钮时,只需向听者发送一条消息,听者就会照常做

对于消息传递,您可能需要使用。

Java代码

Process proc = Runtime.getRuntime().exec("myshell.sh");
myshell.sh

#!/bin/bash
cd ejbca/bin
./ejbca.sh batch &
在example.jsp中

<form method="get">
<input type="submit" name="example" value="Push Me" alt="example button">
<% 
    if ("Push Me".equals(request.getParameter("example"))) {
        Process proc = Runtime.getRuntime().exec("myshell.sh");
    }
%>
</form>

请注意,这是一个相当粗糙的示例。您可以在单独的线程中捕获stdout和stderr,并删除符号and。myshell.sh应该在哪里创建?我正试图在jsp页面上这样做。这就是我尝试的:是这样吗?脚本ejbca.sh应该位于运行servlet容器的用户的$PATH上。这在应用程序之外更容易完成,例如,在该用户的~/bin文件夹中。如果你试图在你的应用程序中部署ejbca.sh,你可能需要在部署后为它设置一些可执行权限。我不明白。我在/home/user/ejbca中有这个web应用程序ejbca。我要运行的文件位于/home/user/ejbca/bin/ejbca.sh中,ejbca web应用程序正在jboss服务器上运行。执行“ehbca.sh batch”将创建一个新文件夹“/home/user/ejbca/p12/pem”,并在该文件夹中创建一些证书。web应用程序上的页面将有一个按钮,用于运行文件并创建文件夹和文件。按下web应用程序页面上的按钮如何执行文件?