2011-07-01 46 views
0

使用該代碼的外部讀取PHP文件...碼頭7.4.2 +櫟4.0.18:我怎樣才能從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(); 
    } 
} 

...我可以閱讀從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> 
+0

你到底需要做什麼? –

+0

我想從temp目錄以外的web文件中部署PHP文件。我希望Jetty在Web資源的不同目錄中查找。 – braveterry

回答

0

你可以改變戰爭的路徑:

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

目錄phpfiles需要包含Web應用程序的結構(最低限度包括WEB-INF/web.xml)。您需要在WEB-INF/lib中包含quercus依賴關係,或者只需在您的類路徑中添加依賴關係(因爲它已嵌入)。依賴和web.xml可以在quercus - *。war中找到。

如果你需要有多個PHP文件的源目錄,我不認爲這是支持。您需要擴展QuercusServletImpl並執行/覆蓋getPath(HttpServletRequest req)

+0

我想在一個地方部署戰爭,並從另一個地方拉出PHP文件,所以第一個選項不好。我會研究擴展QuercusServletImpl。 – braveterry