Eri*_*rce 11 web.xml servlets http-status-code-404
我正在通过web.xml中的以下内容将404错误重定向到servlet.
<error-page>
<error-code>404</error-code>
<location>/notFound.do</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
我想记录请求尝试去的地方,但我没有从引用者标题中获取它:request.getHeader("referer")
如果我只是点击任何旧的随机不存在的页面,那么显示'null'.
而request.getRequestURL()/ request.getRequestURI()都只显示最终的登陆servlet信息(即,/ notFound).
有没有办法获得所请求的"坏"页面网址?
Bal*_*usC 21
是的,它可以作为具有名称的请求属性,该属性javax.servlet.forward.request_uri由键控RequestDispatcher#FORWARD_REQUEST_URI.错误页面位置即通过简单RequestDispatcher#forward()调用调用.
所以,你可以在servlet中得到如下:
String originalUri = request.getAttribute(RequestDispatcher.FORWARD_REQUEST_URI);
Run Code Online (Sandbox Code Playgroud)
或在EL中:
<p>Original URI: ${requestScope['javax.servlet.forward.request_uri']}</p>
Run Code Online (Sandbox Code Playgroud)