[英]How to get original page url/uri after request dispatcher forward
我有一個Error404Servlet,在web.xml中配置為404的錯誤頁面:
<servlet>
<servlet-name>Error404</servlet-name>
<servlet-class>com.foo.bar.Error404Servlet</servlet-class>
</servlet>
<error-page>
<error-code>404</error-code>
<location>/error404</location>
</error-page>
在這個servlet中,我必須記錄導致404的原始URL,但是request.getRequestURI()總是返回“/ error404”
我怎樣才能獲得原始網址? 我知道的非常難看的方法是創建過濾器,將原始URL放入請求屬性。
從請求中,您可以在發生錯誤時檢索容器設置的屬性:
request.getAttribute("javax.servlet.error.request_uri");
其他可以提供有用信息的屬性;
javax.servlet.error.status_code
javax.servlet.error.exception_type
javax.servlet.error.message
javax.servlet.error.exception
另請參見此servlet 2.3功能文章 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.