2013-03-11 20 views
0

其實我在apache服務器和Java api頁面中有一個名爲(vehicle.php)的頁面(someheader:// someip:someport/track/Track?page = map.fleet)在tomcat服務器中。我使用這個link在PHP中創建了一個Restful Webservice。在瀏覽器中直接打開響應,而不是從Apache服務器加載它

然後我通過webservice從apache服務器發送用戶名和密碼到java api,它正確發送請求並且Java api驗證用戶名和密碼並將響應頁面發送回web服務。當我從我的PHP頁面調用webservice中的響應函數並且回顯時,它只是打印api中的值而沒有任何腳本和圖像以及鏈接,並且如果我點擊任何鏈接,它將顯示未找到頁面。

我使用Firebug檢查了這些標題,它顯示了對於js和圖像沒有找到的響應代碼404。它實際上檢查這些文件和圖像在Apache服務器,但他們在tomcat內。

任何人都可以告訴如何在發送請求後在瀏覽器中打開響應。響應應該從Java api而不是從apache服務器加載圖像和腳本。

如果有什麼方法可以解決我的問題,請讓我知道傢伙。

回答

0

你發現404的原因是因爲PHP腳本越來越從Tomcat的響應,可能是這個樣子:

<html> 
    <head>...</head> 
    <body><img src="../images/test.jpg" /></body> 
</html> 

現在,這是有效的,因爲任何正常的Web客戶端將使得後續請求到相對路徑../images/test.jpg

但是,您的PHP腳本只是將頁面標記轉發爲它自己的,所以當瀏覽器詢問它所引用的資源時,它將拋出一個404,因爲它沒有它們。

兩個選項:

  • PHP腳本抓住從Tomcat服務器頁面中所有引用的資源,然後分別爲他們服務了
  • PHP腳本查找和替換引用資源路徑到Tomcat服務器的URL(而不是相對路徑)。
相關問題