我在Jetty的webapps目录下有root.war和cgi-bin-perl目录。我能够在root.war中运行UI代码,但是我无法在cgi-bin-perl目录下读取cgi文件和xml文件,例如hello.cgi,plugin.xml。它返回错误“无法找到”。这是我的etc / webdefault.xml文件。我错过了什么?
<servlet>
<servlet-name>PerlCGI</servlet-name>
<servlet-class>org.eclipse.jetty.servlets.CGI</servlet-class>
<init-param>
<param-name>commandPrefix</param-name>
<param-value>/usr/bin/perl</param-value>
</init-param>
<init-param>
<param-name>cgibinResourceBase</param-name>
<param-value>/opt/jetty/webapps/cgi-bin-perl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>PerlCGI</servlet-name>
<url-pattern>*.pl</url-pattern>
</servlet-mapping>
答案 0 :(得分:1)
您的servlet映射意味着只有以pl结尾的模式才会被servlet执行....这里没有任何内容可以提供该URL下的其他文件。
如果您想要访问这些文件,那么您应该在该URL空间下设置一个默认的servlet并让它提供这些文件。默认情况下,jetty不会让你下载你喜欢的任何文件,你必须配置它才能做到这一点!