2011-07-01 6 views
0

Используя этот код ...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 файлы из каталога WebAPP: 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> 
+0

Что именно вам нужно сделать? –

+0

Я хочу обслуживать файлы PHP из-за пределов времени, в которые развертывается веб-приложение. Я хочу, чтобы Jetty выглядел в другом каталоге для веб-ресурсов. – braveterry

ответ

0

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

[...] 
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).

+0

Я хочу развернуть войну в одном месте и вытащить файлы PHP из другого, поэтому первый вариант не подходит. Я рассмотрю расширение QuercusServletImpl. – braveterry