首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java中重定向到带有404状态代码的URL

在Java中重定向到带有404状态代码的URL
EN

Stack Overflow用户
提问于 2018-10-24 17:57:41
回答 2查看 3.1K关注 0票数 1

如何用404状态代码将http请求重定向到特定的URL。我在用

代码语言:javascript
运行
复制
Response.sendRedirect("/404userfriendlypage")

请求的URL的响应代码是301,而我需要的是404。然后重定向到这个用户友好的错误页面。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-27 15:16:04

我用下面的代码解决了这个问题。

代码语言:javascript
运行
复制
Response.sendError(HttpServletResponse.SC_NOT_FOUND);

它将404发送到请求的url的前端。在应用程序级别,我们有一个配置,如果404代码接收重定向到一个用户友好的页面。

票数 1
EN

Stack Overflow用户

发布于 2018-10-24 18:37:17

使用以下语法在spring控制器中重定向

代码语言:javascript
运行
复制
        return "redirect:/urlNotExist";

由于"/urlNotExist“路由没有映射,上述重定向将404发送到客户端。

现在,您可以在客户端的客户端编写代码,以便重定向到用户友好的错误页面。或者简单地为服务器端重定向到用户友好的错误页面设置一个@ControllerAdvice。

普通java.中的解决方案

使用简单的Response.sendRedirect重定向(“路径”);

代码语言:javascript
运行
复制
Response.sendRedirect("/404Genratingpage")

和重定向到自定义错误页时,staus是404或其他一些标准。您需要重写Response.sendRedirect方法。

代码语言:javascript
运行
复制
 public class CustomResponseWrapper extends HttpServletResponseWrapper {

     @Override
    public void sendRedirect(String location) {

      //custom logic to redirect to a user friendly error page.
  super.sendRedirect(request.getContextPath()+"/404userfriendlypage.jsp");
    }

}

对于404或任何其他状态,请尝试在404userfriendlypage.jsp中设置响应状态,如下所示。

代码语言:javascript
运行
复制
<%response.setStatus(404);%>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52975286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档