2012-03-26 60 views
1

我在Windows 7旗艦版下從Eclipse Indigo運行Tomcat 5.54應用服務器。我的servlet使用的.jsp和.jsp頁面包含(其中包括)以下爲「包括」一些JavaScript到.JSP:無法從.jsp頁面找到.js(或.css)文件

當servlet運行顯示.jsp頁面,但我得到404 「請求的資源(/MyServer/WebContent/WEB-INF/JSP/Scripts/Modernizr-2.5.3.js)」等錯誤不可用。「包含在.jsp頁面中的所有.js和.css文件中。

相關文件位置: ./WEB-INF/JSP的.jsp文件 ./WEB-INF/JSP/Scripts的js文件 ./WEB-INF/JSP/CSS的.css文件特別是,Modernizr-2.5.3.js位於(由Eclipse管理)位於。\ Projects \ MyServer \ WebContent \ WEB-INF \ JSP \ Scripts \ Modernizr-2.5.3.js中。我知道「包含」內容(如.js,.css,圖片等)的路徑與提交的URL的位置有關,與顯示的.jsp無關,我的理解是處理此問題的最佳方法是在src = URL中使用完全限定的路徑,我相信我正在這樣做。但是,我收到404錯誤。我曾嘗試將Modernizr-2.5.3.js(作爲測試用例)放在「遍佈各處」,我從來沒有能夠消除404錯誤。 (我意識到我可以從網上拉這個特定的腳本,但這並不能解決我的問題。)

我在src = URL中有錯誤嗎?如果沒有,還有什麼會導致這些404錯誤?

感謝您的幫助。

+0

您使用的是什麼src URL?您請求的網頁的網址是什麼?你可以通過在瀏覽器地址欄中輸入路徑直接進入hs或CSS嗎? – davidfrancis 2012-03-26 22:39:53

回答

2

WEB-INF未公開。它通常用於存儲JSP和庫文件和描述符。如果你想引用你的javascript和css資源,而不必通過一些從類路徑加載它們的調度器(即你想像普通的web資源一樣引用它們),它們應該放在WEB-INF之外的其他目錄中。

所以我建議創建Projects/MyServer/WebContent/jsProjects/MyServer/WebContent/css,並把你的js和css放在合適的文件夾中。然後src屬性可以指向/js/Modernizr-2.5.3.js和/css/mycss.css

+0

感謝DigitalJoe,正如我對德米特里所說的那樣,我發現奇怪的是一些名爲「WEB-INF」的東西(比如也許是「Web信息」)不能包含可訪問的網頁資源。您的具體路徑幫助我清楚事情的發展方向,我現在已經開始運行了/ – 2012-03-28 04:01:37

1

WEB-INF用於類和屬性文件,它不應該用於JSP和其他linkabale資源。您應該將文件移動到您的Web應用程序的根目錄或其下的其他目錄中。

+0

感謝DMitry,但我覺得奇怪的是一些名爲「WEB-INF」的東西(比如也許是「Web信息」)不能包含網頁無障礙資源! – 2012-03-28 04:00:08