2011-12-31 48 views
1

我只是在做一個java tomcat項目,它在數據庫中執行一些查詢,然後返回一些網頁的文件路徑。生成的java tomcat鏈接不起作用

現在我已經在web.xml中映射了我的唯一類,並且webapp確實返回了與本地磁盤中的某些html頁面對應的url列表。我在webapp中設置了一個邊框,我的想法是我在輸出頁面輸出結果,比如「file:/// file_path_of_html_page」,當點擊這個鏈接時,邊框會顯示html頁面。

但實際上我得到了正確的鏈接,但是當我點擊它們時,沒有任何反應,chrome告訴我「不允許加載本地資源」。即使我設置了目標=「_ blank」,鏈接不起作用。但是,當我在地址欄中輸入「file:/// filepath」時,它們都可以正常使用。我已經移動了eclipse項目文件夾中的所有html頁面,但沒有幫助。

任何建議來做這個簡單的任務?

回答

4

當父資源本身通過http://服務時,由於安全原因,平均瀏覽器不允許打開file://資源。如果你讓他們滿意http://鏈接,那麼它會正常工作。

即使瀏覽器允許它,當您在不同的服務器上發佈webapp時,這種方法也不會起作用。 A file://資源是指本地磁盤文件系統,它是客戶端(具有Web瀏覽器的用戶)正在使用的系統。這通常在物理不同機器。客戶應事先在其本地磁盤文件系統上準備好這些資源的副本,以使file://鏈接正常工作。

只需將HTML頁面放入Web項目的公共Web根目錄(通常放置JSP文件等位置)並使用(相對)鏈接來引用HTML頁面。例如,在一個http://localhost:8080/contextname/some.jsp

<a href="some.html">link to some html file</a> 

下面的鏈接將打開http://localhost:8080/contextname/some.html文件。

+0

謝謝你解決我的問題!我需要了解更多關於網絡應用的信息。祝您新年快樂! – darkjh 2012-01-01 00:19:00

+0

不客氣。 – BalusC 2012-01-02 12:45:24