2017-02-15 49 views
0

經過大量的調試,我發現,每次我包括像jsp文件:JSP:包括原因Servtlet例外應用程序引擎

<jsp:include page="header.jsp"> 

當我嘗試做不喜歡一個HTTP請求:/不管/請求我得到但以下情況除外:

javax.servlet.ServletException: File &quot;/whatever/header.jsp&quot; not found 

,如果我嘗試任何路徑,而不是上面例如/測試/測試/請求或任何/測試的相同的異常會發生。

當我刪除所有指令時,一切都很好。我該如何解決這個問題。

回答

0

它尋找jsp相對於上下文路徑,在你的例子中它尋找存儲在/whatever/header.jsp中的jsp,它不存在,你應該通過編寫完整的項目路徑來訪問jsp文件,否則它會查找那些jsp確切的文件夾,你指的是在您的網址,如果它顯示在文件夾/list/London錯誤,並且包括JSP喜歡

<jsp:include page="some.jsp"/>

然後,它會尋找在/list/London/該文件,但如果你寫

<jsp:include page="/some.jsp"/>

它會在您的項目的根目錄下找到它,這意味着在/

+0

這不是問題。它在我創建一個文件index.jsp並在其中包含header.jsp時起作用。如果級別超過兩個:/ whatever/test,則會顯示以下錯誤。我懷疑它與應用程序引擎有關,但仍在調查爲什麼 - 發現相對類似的問題。可能需要添加更多的日誌,以查看應用引擎中會發生什麼.. –

+0

header.jsp不應該被訪問...我嘗試創建一個Web服務,例如/ list/London應該返回所有倫敦的信息,但它返回上面的錯誤。我懷疑問題類似於http://stackoverflow.com/questions/7026447/why-does-jspinclude-sometimes-cause-stackoverflowerrors-on-google-app-engine?rq=1,但我不是100%確定...感謝您的努力,非常感謝! –

+0

非常感謝!這終於解決了我的問題!花了兩個星期的一個符號「/」大聲笑 –