如何从 java servlet 中抛出 404 错误?

Posted

技术标签:

【中文标题】如何从 java servlet 中抛出 404 错误?【英文标题】:How do I throw a 404 error from within a java servlet? 【发布时间】:2011-03-16 14:16:52 【问题描述】:

如何从 java servlet 中引发 404 错误?我的 web.xml 已经指定了出现 404 时要显示的页面,如何从 servlet 中抛出 404?

【问题讨论】:

【参考方案1】:

Servlet API 为您提供了一种发送 404 或任何其他 HTTP 状态代码的方法。就是HttpServletResponse的sendError方法:

public void doGet(HttpServletRequest request, HttpServletResponse response) 
    response.sendError(HttpServletResponse.SC_NOT_FOUND);

【讨论】:

产生此错误后,如果在web.xml中配置,用户是否会被重定向到错误页面?【参考方案2】:

在您的doGetdoPost 方法中,您有一个参数HttpServletResponse res

404 是一个状态码,可以通过以下方式设置:

res.setStatus(HttpServletResponse.SC_NOT_FOUND);

【讨论】:

【参考方案3】:

要使用 404 添加请求 URL,请使用以下代码

public void doGet(HttpServletRequest request, HttpServletResponse response) 
    response.sendError(HttpServletResponse.SC_NOT_FOUND, request.getRequestURI());

【讨论】:

以上是关于如何从 java servlet 中抛出 404 错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Drupal模块中抛出404错误?

获取请求在Angular 5 app中抛出404错误

当结果 api 返回 null 或 /403/404/500/503 状态时,Flutter 在小部件中抛出消息

如何在 lambda Java8 中抛出 Checked Exception? [复制]

如何从嵌套的 shell 脚本中抛出错误

从变量中抛出异常