0
目前我使用
${pageContext.servletContext.contextPath}
或
${pageContext.request.contextPath}
打印JSP頁面的上下文路徑。它對本地服務器來說工作正常,但是當我上線時,它會打印空白而不是實際的路徑。
我能夠打印請求端口號以及請求方法,但不是上下文路徑。
這是如何造成的,我該如何解決?
目前我使用
${pageContext.servletContext.contextPath}
或
${pageContext.request.contextPath}
打印JSP頁面的上下文路徑。它對本地服務器來說工作正常,但是當我上線時,它會打印空白而不是實際的路徑。
我能夠打印請求端口號以及請求方法,但不是上下文路徑。
這是如何造成的,我該如何解決?
這會在部署到根目錄時發生。例如。如Tomcat中的ROOT.war
,或者上下文路徑爲/
。 ${pageContext.request.contextPath}
將解析爲空字符串。
如果您實際上在瀏覽器的地址欄URL中看到了「上下文路徑」,那麼當webapp發佈給(糟糕的)第三方主機時,它可能會發生,然後實際上以root用戶身份部署webapp,到該主機上的某個代理服務器的「上下文路徑」。您可以通過檢查響應頭中的Server
條目來檢查/確認。您最好與第三方主機聯繫以獲取有關如何從代理服務器獲取有關該「上下文路徑」信息(可能存在於請求標頭中)的信息,或尋找不太適合第三方的主機。
C我問他們,但他們說,他們不能協助編碼... –