Jetty 7.4.2 + Quercus 4.0.18: Как я могу читать файлы PHP из вне каталога веб-приложения - PullRequest
0 голосов
/ 01 июля 2011

Используя этот код ...

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();
    }
}

... Я могу читать файлы 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>

1 Ответ

0 голосов
/ 11 июля 2011

Вы можете изменить военный путь на:

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

Каталог phpfiles должен содержать структуру веб-приложения (минимально включает WEB-INF / web.xml ),Вам нужно будет либо включить зависимости quercus в WEB-INF / lib , либо просто добавить зависимости в ваш путь к классам (поскольку он встроен).Зависимости и web.xml можно найти в quercus - *. War .

Если вам нужно иметь несколько исходных каталогов php-файлов, которые я не будуЯ думаю, это поддержка.Вам нужно будет расширить QuercusServletImpl и реализовать / переопределить getPath (HttpServletRequest req) .

...