我从Java程序本身开始使用Jetty。我只是想让它指向我已经放在软件包目录下的一个cgi文件夹(/ src/package/cgi-bin)在Jetty上运行CGI
问题是,每次启动服务器时,它抱怨“没有CGI bin!”。在哪里放置你的cgi-bin并指向它的正确位置?这是我有:
public static void main(String[] args) throws Exception {
// The core Jetty server running on 8080
Server server = new org.eclipse.jetty.server.Server(8080);
// Setup CGI routing
ServletContextHandler context2 = new ServletContextHandler(ServletContextHandler.SESSIONS);
context2.setContextPath("/");
context2.setInitParameter("commandPrefix", "perl");
// Where does this point to?
context2.setInitParameter("cgibinResourceBase", "cgi-bin");
server.setHandler(context2);
// Add the CGI Servlet
context2.addServlet(new ServletHolder(new Cgi()), "/cgi");
server.start();
server.join();
}
对于这个问题的答案见Jetty setInitParameter is NOT initializing any parameter。
我想这是我们能做的最好的,但是谢谢。它的确帮助我朝着正确的方向发展,但实际上这个方法是在server.start()上调用的。我简直不明白为什么setInitParameter没有携带这些信息。 – joslinm 2012-01-31 02:02:12
源代码已移动,现在位于:http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-servlets/src/main/java/org/eclipse /jetty/servlets/CGI.java – 2013-06-30 14:41:17