如何从 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 错误?的主要内容,如果未能解决你的问题,请参考以下文章