JSP/Servlet HTTP 404错误处理

4
我可以帮你处理Web应用中的HTML 404错误。
代码如下所示:
    <error-page>
  <error-code>404</error-code>
  <location>/view/error404.jsp</location>
 </error-page>

这很完美,但我想记录用户输入的每个无效网址。当我在error404.jsp中使用以下脚本时:
 <% 
     System.out.println(request.getRequestURL());
   %>

我经常会遇到这样的问题:http://localhost:8080/webApp/view/error.jsp,因为用户将从无效的URL重定向到我的error404.jsp页面。

我应该如何获取无效的URL?或者我应该如何编写一个servlet来捕获所有未被其他servlet明确处理的请求?

1个回答

9

该信息被存储为请求属性,并使用键javax.servlet.forward.request_uri

<p>URL: ${requestScope['javax.servlet.forward.request_uri']}</p>

如果您仍在使用已经过时10年的传统JSP 1.x版本,则需要升级:

<p>URL: <%= request.getAttribute("javax.servlet.forward.request_uri"); %></p>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接