如何在JSP错误页面中显示请求的URL?

在错误页面中,我想显示用户请求的URL。

在我的web.xml中

  MyStuff  404 /WEB-INF/error-404.jsp   

这将转发到error-404.jsp ,这是该文件的内容:

      Page Not found   

问题是request.getRequestURL()需要更改,但不知道搜索内容的关键字。

当我启动浏览器http://localhost:8080/MyStuff我收到以下错误:

Requested resource: http://localhost:8080/MyStuff/WEB-INF/error-404.jsp not found

怎么解决这个?

以下是JSP错误页面的一个简单示例,它显示了错误代码和请求页面的URL:

404.jsp

 <%@ page language="java" isErrorPage="true" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>    Error page     

404 Page Not Found.


Error code: ${pageContext.errorData.statusCode}

Request URI: ${pageContext.request.scheme}://${header.host}${pageContext.errorData.requestURI}



有用的阅读:

  • JavaServer Pages规范(JSR 245)中的“ JSP.1.4error handling ”部分。
  • 处理JSP页面错误 (来自官方Java EE 5教程)

PS
不鼓励在JSP中使用scriptlet。 阅读这篇文章 。