0

使用此代码...

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;

public class OneWebApp
{
    public static void main(String[] args) throws Exception
    {
        String jetty_home = "C:/Software/jetty";

        Server server = new Server(8080);

        WebAppContext webapp = new WebAppContext();
        webapp.setContextPath("/");
        webapp.setWar(jetty_home+"/quercus-4.0.18.war");
        server.setHandler(webapp);

        server.start();
        server.join();
    }
}

...我可以从 webapp 目录读取 PHP 文件:C:\Documents and Settings\mydir\Local Settings\Temp\jetty-0.0.0.0-8080-quercus-4.0.18.war-_-any-\webapp

如何配置 Jetty 以在另一个目录中查找 PHP 文件?例如:C:\Projects\phpfiles

使用 Apache,我只需在配置中执行以下操作:

Alias /phpfiles "C:\Projects\phpfiles"
<Directory C:\Projects\phpfiles>
   Order allow,deny
   Allow from all
   AllowOverride All
</Directory>
4

1 回答 1

0

您可以将战争路径更改为:

[...]
webapp.setContextPath("/");
webapp.setWar("C:/Projects/phpfiles");
[...]

目录 phpfiles 需要包含 Web 应用程序的结构(至少包括WEB-INF/web.xml)。您需要在WEB-INF/lib中包含 quercus 依赖项,或者只需在类路径中添加依赖项(因为它是嵌入的)。可以在quercus-*.war中找到依赖项和web.xml

如果您需要有多个 php 文件的源目录,我认为不支持。您需要扩展QuercusServletImpl并实现/覆盖getPath(HttpServletRequest req)

于 2011-07-11T14:10:04.963 回答