我將Display.jsp
的請求發送到TrialShow.jsp頁面,但是每當我在TrialShow JSP頁面中調用${pageContext.request.requestURL}
,我都會得到http://localhost:8081/newjsp1/TrialShow.jsp
作爲輸出。如何在TrialShow JSP頁面中顯示http://localhost:8081/newjsp1/Display.jsp
?如何獲取客戶端的url
回答
所以你想要一個完整的HTTP請求調用當前頁面的頁面的URL?我認爲沒有前進的方法,因爲你通常不會使用JSP(因爲它可能會產生IllegalStateException: Response already committed
),而且對於一個前鋒,你的需求會按照你想要的方式工作。
最簡單的方法和最好的辦法是獲取HTTP Referer
標題(是的,包括傳說中的錯字)。你可以在EL中得到它如下:
${header.referer}
我說「最好的選擇」,因爲客戶端不需要填寫引用標題。大多數瀏覽器都會發送它們,但請記住,這個值可以完全由客戶端控制,因此客戶端(或任何客戶端安裝的軟件,以某些特定的Norton軟件爲例)可以欺騙甚至完全刪除標題值。
一個更可靠的方法是讓原始頁面將其URL作爲(隱藏)請求參數傳遞。例如。
<input type="hidden" name="from" value="${pageContext.request.requestURI}">
這種方式是在接下來的頁面訪問由
${param.from}
我說,「位」,因爲客戶端仍然可以改變它,但現在你不依賴於客戶端的特定環境了。您仍需要記住,您不應將此值用於商業用途。最高可用於統計或調試。
使用${requestScope['javax.servlet.forward.request_uri']}
編輯:糾正語法
編輯:這工作,如果你轉發請求到第二個JSP(例如,使用<jsp:forward .../>
)
我不認爲這裏有任何前鋒的手段。它是JSP - > JSP,而不是JSP - > Servlet - > JSP。如果實際上有一種轉發方式,您可以在請求URL中看到「Display.jsp」的URL! – BalusC 2010-01-18 22:13:12
- 1. 如何從Url客戶端獲取Id?
- 2. ColdFusion獲取客戶端URL
- 3. ServiceStack客戶端獲取生成的URL
- 4. 獲取客戶端IP的客戶端
- 5. 從WCF獲取客戶端URL
- 6. 如何從WCF服務獲取客戶端的URL?
- 7. 如何獲取客戶端使用的URL
- 8. 如何獲取客戶端的IP?
- 9. 如何獲取客戶端的IP?
- 10. 如何從傳統ASP請求獲取* actual *客戶端URL?
- 11. 如何從ServiceStack Service基類獲取客戶端調用URL?
- 12. 如何獲取圖像到客戶端?
- 13. 如何獲取NodeJS客戶端ID?
- 14. 如何獲取客戶端時區ID?
- 15. 如何獲取客戶端IP地址
- 16. 如何獲取網絡客戶端
- 17. 如何獲取AWS IOT客戶端ID?
- 18. 如何在客戶端獲取提醒
- 19. 如何獲取客戶端IP地址
- 20. 如何獲取客戶端編碼?
- 21. 如何在客戶端獲取Tomcat JSESSIONID?
- 22. SignalR客戶端獲取System.Net.WebException
- 23. Node.js:獲取客戶端IP
- 24. 獲取有關客戶端
- 25. DARTlang獲取客戶端IP
- 26. 獲取遠程客戶端
- 27. 如何在客戶端自動獲取客戶端的IP地址c
- 28. ServerSocket +客戶端套接字 - 如何獲取客戶端的IP地址?
- 29. 使用HTTP客戶端的Java 4.5客戶端獲取語句
- 30. 如何使用Flask獲取客戶端的端口?
謝謝主席先生非常多的你的幫助。 – Dusk 2010-01-18 22:21:45
不客氣。 – BalusC 2010-01-18 22:22:10