Jsp 获取导致404错误的请求页面的URL

Jsp 获取导致404错误的请求页面的URL,jsp,Jsp,如何获取导致404错误的请求页面的URL 例如,我键入“我要去” 我已经有一个自定义的404页面,但是我如何检索上面提到的URL,以便可以显示类似于“URL不存在”的消息?如果使用forward转到错误页面,您可以通过 request.getAttribute("javax.servlet.forward.request_uri") 或者是艾尔 ${requestScope['javax.servlet.forward.request_uri']} 我使用的是JDK 8和GlassFish

如何获取导致404错误的请求页面的URL

例如,我键入“我要去”
我已经有一个自定义的404页面,但是我如何检索上面提到的URL,以便可以显示类似于“URL不存在”的消息?如果使用forward转到错误页面,您可以通过

request.getAttribute("javax.servlet.forward.request_uri")
或者是艾尔

${requestScope['javax.servlet.forward.request_uri']}

我使用的是JDK 8和GlassFish 4

request.getAttribute("javax.servlet.forward.request_uri")
总是为我返回空值。最终起作用的是

request.getAttribute("javax.servlet.error.request_uri")
我不知道为什么属性名称不同,但如果我列出的名称在您的设置中不起作用,下面是我用来查找它的代码

    Enumeration<String> names = request.getAttributeNames();

    while(names.hasMoreElements()){
        String name = names.nextElement();
        Object attr = request.getAttribute(name);

        System.out.println("Req:  "+name + " : "+attr);
    }
Enumeration names=request.getAttributeNames();
while(names.hasMoreElements()){
String name=names.nextElement();
Object attr=request.getAttribute(名称);
System.out.println(“请求:“+name+”:“+attr”);
}

谢谢,但我更喜欢我给出的例子,没有ForwardingActe,
是根据转发显示的定义。@BalusC谢谢,我没有意识到它被转发到404页面@波佐做得很好,谢谢!这可能是重复的一个项目,我在很多年前工作,但感谢你的更新!