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

別のディレクトリで PHP ファイルを検索するように Jetty を構成するにはどうすればよいですか? 例えば:C:\Projects\phpfiles

Apache では、config で次のようなことを行うだけです。

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 の依存関係を含めるか、単純にクラスパスに依存関係を追加する必要があります (埋め込まれているため)。依存関係とweb.xmlquercus-*.warにあります。

PHPファイルの複数のソースディレクトリが必要な場合は、サポートされていないと思います。QuercusServletImplを拡張し、 getPath(HttpServletRequest req)を実装/オーバーライドする必要があります。

于 2011-07-11T14:10:04.963 に答える