tomcat - cgi 和 tomcat

标签 tomcat cgi

我正在尝试使用 tomcat 运行一个 cgi 脚本 (.cgi)。我收到以下错误,无法找出问题所在。我知道我真的应该使用 apache 和 mod 代理,但这真的不是我的专业领域,所以我选择了简单的方法!

感谢您的帮助。

java.io.IOException: Cannot run program "perl" (in directory "C:\Java\tomcat\webapps\my_app_name\WEB-INF\cgi"): CreateProcess error=2, The system cannot find the file specified
    java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
    java.lang.Runtime.exec(Runtime.java:593)
    java.lang.Runtime.exec(Runtime.java:431)
    org.apache.catalina.servlets.CGIServlet$CGIRunner.run(CGIServlet.java:1705)
    org.apache.catalina.servlets.CGIServlet.doGet(CGIServlet.java:597)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)

最佳答案

这是一个猜测,但您可能需要将以下内容添加到您的 web.xml 文件中,以便 Tomcat 可以找到 perl 可执行文件。 Tomcat 不会在您的 PATH 中查找可执行文件,显然:

executable
C:\perl\bin\perl

当然,在您的系统上使用 perl 的实际路径。

关于tomcat - cgi 和 tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/499456/

相关文章:

java - Servlet 架构是否比 CGI 更快,因为它使用线程而不是进程?

php - 快速CGI, SCGI,

tomcat - PlayFramework 应用程序的最佳部署策略?

javascript - 使用 http 协议(protocol)、java 和 javascript 下载大于 1GB 的大文件

maven - 由于 Geotools Maven 库 : "SEVERE: A child container failed during start",Tomcat 无法启动

perl - 如何在 perl 中获取 POST 值

javascript - Python/CGI/Ajax : cgi. FieldStorage 不接收参数

maven - 具有 BIRT View 自动部署的 Tomcat : JSPs only permit GET POST or HEAD

java - 正确启动tomcat 8的麻烦

apache - 如何使 mod_cache 与动态内容一起正常工作?