CGI и Tomcat - PullRequest
       19

CGI и Tomcat

1 голос
/ 31 января 2009

я пытаюсь запустить скрипт cgi (.cgi) с tomcat. Я получаю сообщение об ошибке ниже и не могу узнать, что не так. Я знаю, что действительно должен использовать Apache и мод-прокси, но это не моя область знаний, поэтому я выбираю легкий путь!

Спасибо за любую помощь.

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)

Ответы [ 5 ]

2 голосов
/ 31 января 2009

Это предположение, но вам может понадобиться добавить следующее в ваш файл web.xml, чтобы Tomcat мог найти исполняемый файл perl. Tomcat не ищет в вашем PATH исполняемые файлы, по-видимому:

executable
C:\perl\bin\perl

Конечно, используйте фактический путь к perl в вашей системе.

1 голос
/ 01 февраля 2009

Вам необходимо указать параметр «исполняемый» в элементе сервлета. Согласно документации , по умолчанию используется "perl", что, вероятно, и вызывает вашу ошибку. Может быть, изменение его на что-то вроде cmd.exe будет работать.

0 голосов
/ 01 февраля 2009

Спасибо всем, я не нашел правильный синтаксис для запуска C ++ сценариев CGI, но если вы оставите параметр пустым, он запустит любой тип сценария.

<init-param>
  <param-name>executable</param-name>
  <param-value></param-value>
</init-param>
0 голосов
/ 01 февраля 2009

Никакой perl не установлен. Сценарий CGI на самом деле c ++. Я не установил ничего, кроме установки tomcat по умолчанию.

0 голосов
/ 31 января 2009

Ошибка указывает на то, что исполняемый файл с именем perl не найден. Perl установлен в вашей системе? Это в пути?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...