簡體   English   中英

如何在請求調度程序轉發后獲取原始頁面url / uri

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM