如何在Windows 7上配置Jetty 9 CGI?

时间:2014-05-22 11:17:33

标签: java jetty cgi

尝试在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

我读了一篇文章,其中一个人说这将是码头5的方式而不是9号。我正在研究9,甚至在码头9的文档中我找不到任何关于它的东西。 http://www.eclipse.org/jetty/documentation/9.1.5.v20140505/cgi-servlet.html并没有告诉我如何配置这个码头...

你们能帮帮我吧:( 谢谢你的建议

1 个答案:

答案 0 :(得分:1)

我能够运行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>

希望这有帮助。