0

我有一个类,它的方法只有在我从命令行运行时才能找到。不过,当我在 JSP 文件中调用它时,似乎什么也没发生。我可以在这里遗漏一些东西吗?是否需要进行一些配置更改才能使此代码正常工作。

public static void toText(String pdfFile, String textFile) {
    try {
        String[] cmd = {"pdftotext", pdfFile, "/tmp/text1984.txt"};
        Process p = Runtime.getRuntime().exec(cmd);
        p.waitFor();
    } catch (Exception e) {
        System.out.print(e.getMessage());
    }
}

问候, 菲里

4

2 回答 2

0

这可能有两个原因:

  1. 您的 webbrowser 与 webserver 不在同一台机器上运行,而您期望 webserver 中的 Java 也可以在 webbrowser 中运行(这最终是不正确的)。

  2. 运行 JSP 的 servletcontainer 根本无法执行命令,这可能有很多原因,例如权限不足或命令刚刚出错。

原因 #1 将通过在 webbrowser 中运行 Java 代码来解决。这可以在签名(!)小程序的帮助下完成。至于原因 #2,要确定其根本原因,请阅读本文以了解如何理解和调试“Runtime.exec() 不执行任何操作”问题。阅读所有 4 页。

于 2011-03-17T13:51:21.253 回答
0

我认为这很可能是 JSP 文件所在服务器的安全设置问题,可能是服务器(不允许 exec 调用)。因此,您必须调整服务器的安全设置以允许调用。

请注意,这可能存在安全风险。

于 2011-03-17T13:53:48.430 回答