java - 如何制作过滤器以检测用户是否请求了未找到的页面?

标签 java servlets jakarta-ee servlet-filters

我想在我的应用程序中创建一个过滤器,以便在每次请求之前检测请求的页面是否存在。如果不存在,它将把用户转到错误页面。

如何检测该页面是否存在?

我需要一个带有过滤器但不使用 web.xml 标记方法的解决方案。

最佳答案

如果您没有身份验证,您可以。

  1. 制作一个过滤器
  2. 使用HttpServletResponseWrapper并覆盖 sendError()setStatus()
  3. 通过 chain.doFilter(req, wrapper) 传递包装的响应
  4. 如果您在包装器中收到 sendError(),请查看它是否为 404。
  5. 做出适当的回应。

您可能还必须重写 getOutputStream()getWriter() 以避免在您有机会做事之前将响应刷新到客户端。

关于java - 如何制作过滤器以检测用户是否请求了未找到的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4324176/

相关文章:

java - 如何在 Java EE 环境中拦截和验证 HTTP 请求

java - 用于开发进口商的示例 COLLADA 文件?

java - 使用 JFrame/JPanel/Netbeans 自定义图形位置

java - 如何在servlet中使用或调用java类并将结果显示到jsp

java - 如何在java中将proj_id的值设置为max(proj_id) + 1

java - 在 JBOSS 中部署 JAR

java - Java EE 应用程序中的 System.out.println 危害

java - 从自定义按钮android中删除白色背景

java - 如何从推文中仅提取英文标签

java - 如何模拟不是过滤器方法输入的 HttpServletRequest