您的位置:首页 > 编程语言 > Java开发

spring boot 下 500 404 403错误页面处理

2017-03-16 18:26 330 查看
转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/62432040,建议读者阅读原文,确保获得完整的信息

1.场景说明

Spring Boot 下http 500 404 403错误页面处理。同时文章是在《SpringBoot接口服务处理Whitelabel Error Page》基础上新增内容,更加详细的说明请参考这篇文章。本文直说明差异部分。

2.代码修改

/**
* Supports the HTML Error View
* @param request
* @return
*/
@RequestMapping(value = ERROR_PATH, produces = "text/html")
public ModelAndView errorHtml(HttpServletRequest request) {
Map<String, Object> map = getAttributes(request, false);
ModelAndView mav = null;

Integer status = (Integer) map.get("status");
if (status == 404){
mav = new ModelAndView("pages/404", map);
} else if (status == 403){
mav = new ModelAndView("pages/403", map);
} else if (status == 500){
mav = new ModelAndView("pages/500", map);
} else {
mav = new ModelAndView("greeting", map);
}

return mav;
}

private Map<String, Object> getAttributes(HttpServletRequest request,
boolean includeStackTrace) {
RequestAttributes requestAttributes = new ServletRequestAttributes(request);
Map<String, Object> map = this.errorAttributes.getErrorAttributes(requestAttributes,includeStackTrace);
String URL = request.getRequestURL().toString();
map.put("URL", URL);
logger.debug("AppErrorController.method [error info]: status-" + map.get("status") +", request url-" + URL);
return map;
}


在templates中添加pages文件夹,创建403、404、500页面。



因为如果不处理,会提示异常信息:



3.修改效果

404错误跳转至pages/404页面。



由于掌握有限,针对文中未尽事宜,麻烦各位帮忙指出,谢谢。

4.Http状态码







更加全面的状态码说明,请参考链接:

http://tool.oschina.net/commons?type=5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: