在错误页面中,我想显示用户要求的URL。
在我的 web.xml中 :
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>MyStuff</display-name> <error-page> <error-code>404</error-code> <location>/WEB-INF/error-404.jsp</location> </error-page> </web-app>
这将转发到 error-404.jsp ,这是该文件的内容:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Page Not found</title> </head> <body> <p align="center"> <% out.println("Requested resource: " + request.getRequestURL()+ " not found"); %> </body> </html>
问题在于request.getRequestURL()需要更改,但不知道搜索内容的关键字。
request.getRequestURL()
当我启动浏览器时,http://localhost:8080/MyStuff出现以下错误:
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"%> <!DOCTYPE html> <html> <head> <title>Error page</title> <meta charset="utf-8"> </head> <body> <button onclick="history.back()">Back to Previous Page</button> <h1>404 Page Not Found.</h1> <br /> <p><b>Error code:</b> ${pageContext.errorData.statusCode}</p> <p><b>Request URI:</b> ${pageContext.request.scheme}://${header.host}${pageContext.errorData.requestURI}</p> <br /> </body> </html>