read我正在尝试在 Jetty 9.1.5.v20140505、Windows 7 上配置 CGI(用于 perl 脚本)。尝试来自 inet 的解决方案时,总是会收到这些函数/方法不存在的错误。
示例:http://67-23-9-112.static.slicehost.net/faq?s=900-Content&t=CGI添加他们告诉我的内容,得到:
2014-05-22 13:08:09.137:WARN:oejx.XmlConfiguration:main: Config error at <Call name="addContext"><Ar
g>C:\jetty\webapps\app1\cgi-bin\*</Arg><Set name="ResourceBase">C:\jetty\webapps\app1</Set><Set name
="ServingDynamicServlets">TRUE</Set><Call name="addServlet"><Arg>Common Gateway Interface</Arg><Arg>
/</Arg><Arg>com.mortbay.Servlet.CGI</Arg><Put name="Path">/usr/local/bin:/usr/ucb:/bin:/usr/bin</Put
></Call></Call> java.lang.IllegalStateException: No Method: <Call name="addContext"><Arg>C:\jetty\we
bapps\app1\cgi-bin\*</Arg><Set name="ResourceBase">C:\jetty\webapps\app1</Set><Set name="ServingDyna
micServlets">TRUE</Set><Call name="addServlet"><Arg>Common Gateway Interface</Arg><Arg>/</Arg><Arg>c
om.mortbay.Servlet.CGI</Arg><Put name="Path">/usr/local/bin:/usr/ucb:/bin:/usr/bin</Put></Call></Cal
l> on class org.eclipse.jetty.server.Server in file:/C:/jetty/etc/jetty.x
我读过一篇文章,其中一个人说这将是 jetty 5 的方式,但不是 9 的方式。我正在研究 9,甚至在 jetty 9 的文档中我找不到任何有关它的信息。 http://www.eclipse.org/jetty/documentation/9.1.5.v20140505/cgi-servlet.html没有告诉我如何配置这个 jetty ...
你们能帮帮我吗:(谢谢指教
我能够运行 Perl 脚本,例如:
print "Content-type: text/html\n\n";
foreach $key (keys %ENV) {
print "$key --> $ENV{$key}<br>";
}
在我的 webapps 文件夹中使用这个 perl.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.servlet.ServletContextHandler">
<Set name="contextPath">/perl</Set>
<Set name="resourceBase">F:\perl_scripts</Set>
<Call name="addServlet">
<Arg>org.eclipse.jetty.servlets.CGI</Arg>
<Arg>*.pl</Arg>
<Call name="setInitParameter">
<Arg>commandPrefix</Arg>
<Arg>C:\Perl64\bin\perl.exe</Arg>
</Call>
<Call name="setInitParameter">
<Arg>Path</Arg>
<Arg>F:\perl_scripts</Arg>
</Call>
</Call>
</Configure>
希望这有帮助。
我是一名优秀的程序员,十分优秀!