如何用404状态代码将http请求重定向到特定的URL。我在用
Response.sendRedirect("/404userfriendlypage")
请求的URL的响应代码是301,而我需要的是404。然后重定向到这个用户友好的错误页面。
提前谢谢。
发布于 2018-10-27 07:16:04
我用下面的代码解决了这个问题。
Response.sendError(HttpServletResponse.SC_NOT_FOUND);
它将404发送到请求的url的前端。在应用程序级别,我们有一个配置,如果404代码接收重定向到一个用户友好的页面。
发布于 2018-10-24 10:37:17
使用以下语法在spring控制器中重定向
return "redirect:/urlNotExist";
由于"/urlNotExist“路由没有映射,上述重定向将404发送到客户端。
现在,您可以在客户端的客户端编写代码,以便重定向到用户友好的错误页面。或者简单地为服务器端重定向到用户友好的错误页面设置一个@ControllerAdvice。
普通java.中的解决方案
使用简单的Response.sendRedirect重定向(“路径”);
Response.sendRedirect("/404Genratingpage")
和重定向到自定义错误页时,staus是404或其他一些标准。您需要重写Response.sendRedirect方法。
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中设置响应状态,如下所示。
<%response.setStatus(404);%>
https://stackoverflow.com/questions/52975286
复制