Jetty 7.4.2 + Quercus 4.0.18: как я могу читать файлы PHP из вне каталога webapp
Используя этот код...
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 ответ
Вы можете изменить путь войны на:
[...]
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).