【问题标题】:How to get original page url/uri after request dispatcher forward请求调度程序转发后如何获取原始页面 url/uri
【发布时间】:2009-12-10 19:07:05
【问题描述】:

我有一个 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 放入请求属性的过滤器。

【问题讨论】:

    标签: java tomcat jakarta-ee


    【解决方案1】:

    在发生错误时,您可以从请求中检索容器设置的属性:

    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 features article

    【讨论】:

    • 嗨,我在哪里可以找到查询参数,使用了哪个 HTTP_Method 和 httpheaders?
    猜你喜欢
    • 2015-05-12
    • 2011-07-23
    • 1970-01-01
    • 2014-09-30
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2011-06-08
    相关资源
    最近更新 更多