Java 无法在servlet应用程序中运行批处理文件(.bat)
我尝试从servlet应用程序运行批处理文件。我无法得到任何响应。它没有显示错误或警告。相同的代码在简单的java程序中工作。我参考了以下链接以执行批处理文件 我读取了进程的inputstream和errorstream,但没有响应。请帮助从servlet运行批处理文件。下面是我的代码Java 无法在servlet应用程序中运行批处理文件(.bat),java,jsp,servlets,batch-file,process,Java,Jsp,Servlets,Batch File,Process,我尝试从servlet应用程序运行批处理文件。我无法得到任何响应。它没有显示错误或警告。相同的代码在简单的java程序中工作。我参考了以下链接以执行批处理文件 我读取了进程的inputstream和errorstream,但没有响应。请帮助从servlet运行批处理文件。下面是我的代码 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws Servl
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String cmdarr[] = new String[4];
cmdarr[0] = "cmd.exe";
cmdarr[1] = "/c";
cmdarr[2] = "start";
cmdarr[3] = "C://notepad.bat";
Runtime run = Runtime.getRuntime();
try {
out.println("Start Running the batch file\n");
Process p = run.exec(cmdarr);
p.waitFor();
out.println("Completed:");
}
catch (Exception e)
{
out.println("Exception"+e);
}
} finally {
out.close();
}
为什么在命令数组中包含“开始”?我还认为C://应该是C:\\。但是,这些问题中的任何一个都会导致打印到错误流中的错误-因此我可能选错了树。@SiKelly现在我按照您所说的更改了代码,但仍然有相同的问题..请帮助我解决问题。如果我们能让它输出一些错误,会更容易。试着喊出来。在喊出来之前先冲一下。close@SiKelly在这里,当开始运行批处理文件完成时,浏览器中显示没有错误:并且您正在将errorstream和inputstream打印到响应中?