区块链技术博客
www.b2bchain.cn

29.博客系统项目开发之错误页面制作求职学习资料

本文介绍了29.博客系统项目开发之错误页面制作求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

Spring Boot 博客系统项目开发之错误页面制作

29.博客系统项目开发之错误页面制作

本项目的开源仓库地址为:https://github.com/ZHENFENG13/My-Blog

除 My-Blog 项目外,我也在维护另外一个开源项目,仓库地址为:https://github.com/newbee-ltd/newbee-mall

29.博客系统项目开发之错误页面制作

感兴趣的朋友可以去关注一下。

文章总览

在 SSM 或者 SSH 组合框架开发 web 项目时,想要定义错误页面的话,只需要在 web.xml 配置文件中进行设置即可,但是在 Spring Boot 项目中并没有该配置文件,本实验将在 Spring Boot 项目中进行自定义错误页面的配置。

知识点

  • 自定义错误页面

环境

  • JDK 1.8 或者更高版本
  • Spring Boot 2.1.0-RELEASE
  • Maven 3+

自定义错误页面

在项目中为了使得用户获得更友好的交互体验,对于错误页面,我们常常会使用自定义的页面,这些页面通常会单独设计和实现,页面的视觉效果和提示信息往往会更加丰富。

在 SSM 或者 SSH 组合框架开发 web 项目时,想要自定义错误页面通常非常简单,我们通过拦截或者在 web.xml 中设置对于错误码的错误页面即可,然而到了 Spring Boot 项目开发中,已经没有了之前的 web.xml 配置文件,SpringBootServletInitializer 初始化 Servlet 代替了 web.xml,虽然 Spring Boot 也提供了错误页面,但是可能不太能够满足实际建站时的需求,这里我简单的整理了两个缺点。

首先是页面效果较为单调,自定义错误页面效果如下:

29.博客系统项目开发之错误页面制作

相信大家对于我们系统中的大部分页面都有印象,虽然这个博客系统的页面效果不至于说是美轮美奂,但是视觉效果也还是比较简洁美观的,如果用户在浏览博客的时候忽然看到了上面这个页面,可能会觉得有点不自然,Spring Boot 提供的自定义错误页面太过于简单,与我们系统的页面效果对比起来显得过于单调。

第二个问题就是容易暴露业务信息,报错如下:

29.博客系统项目开发之错误页面制作

以上页面是一个错误码为 500 而导致的错误页面效果,下方的错误信息也直接将真实原因暴露了出来,无法连接数据库导致的该错误,当然,这只是举了其中一个例子而已,如果有其他原因导致了 500 错误,可能也会暴露出相应的业务信息,因此不太建议直接使用 Spring Boot 提供的错误页面。

基于以上两个原因,部分开发人员会想要修改这种错误页面,但是把 web.xml 重新加回到 Spring Boot 项目中,这种方案虽然可以实现,但是极不合理,也不是特别提倡这种方案,下面我们通过一个实践案例在 Spring Boot 项目中实现自定义错误页面的配置和显示。

实现步骤

ErrorController

ErrorController 是 Spring Boot 提供的一种错误页面配置方案,使用 ErrorController 这种方式是比较简单的一种方案,在 controller.common 包中新增 ErrorPageController.java 并实现 ErrorController 类,代码如下:

“`java
package com.lou.springboot.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.ServletWebRequest;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@Controller
public class ErrorPageController implements ErrorController {
private static ErrorPageController errorPageController;
@Autowired
private ErrorAttributes errorAttributes;
private final static String ERROR_PATH = “/error”;
public ErrorPageController(ErrorAttributes errorAttributes) {
this.errorAttributes = errorAttributes;
}
public ErrorPageController() {
if (errorPageController == null) {
errorPageController = new ErrorPageController(errorAttributes);
}
}
@RequestMapping(value = ERROR_PATH, produces = “text/html”)
public ModelAndView errorHtml(HttpServletRequest request) {
HttpStatus status = getStatus(request);
if (HttpStatus.BAD_REQUEST == status) {
return new ModelAndView(“error/error_400”);
} else if (HttpStatus.NOT_FOUND == status) {
return new ModelAndView(“error/error_404”);
} else {
return new ModelAndView(“error/error_5xx”);
}
}
@RequestMapping(value = ERROR_PATH)
@ResponseBody
public ResponseEntity> error(HttpServletRequest request) {
Map body = getErrorAttributes(request, getTraceParameter(request));
HttpStatus status = getStatus(request);

Spring Boot 博客系统项目开发之错误页面制作

29.博客系统项目开发之错误页面制作

本项目的开源仓库地址为:https://github.com/ZHENFENG13/My-Blog

除 My-Blog 项目外,我也在维护另外一个开源项目,仓库地址为:https://github.com/newbee-ltd/newbee-mall

29.博客系统项目开发之错误页面制作

感兴趣的朋友可以去关注一下。

文章总览

在 SSM 或者 SSH 组合框架开发 web 项目时,想要定义错误页面的话,只需要在 web.xml 配置文件中进行设置即可,但是在 Spring Boot 项目中并没有该配置文件,本实验将在 Spring Boot 项目中进行自定义错误页面的配置。

知识点

  • 自定义错误页面

环境

  • JDK 1.8 或者更高版本
  • Spring Boot 2.1.0-RELEASE
  • Maven 3+

自定义错误页面

在项目中为了使得用户获得更友好的交互体验,对于错误页面,我们常常会使用自定义的页面,这些页面通常会单独设计和实现,页面的视觉效果和提示信息往往会更加丰富。

在 SSM 或者 SSH 组合框架开发 web 项目时,想要自定义错误页面通常非常简单,我们通过拦截或者在 web.xml 中设置对于错误码的错误页面即可,然而到了 Spring Boot 项目开发中,已经没有了之前的 web.xml 配置文件,SpringBootServletInitializer 初始化 Servlet 代替了 web.xml,虽然 Spring Boot 也提供了错误页面,但是可能不太能够满足实际建站时的需求,这里我简单的整理了两个缺点。

首先是页面效果较为单调,自定义错误页面效果如下:

29.博客系统项目开发之错误页面制作

相信大家对于我们系统中的大部分页面都有印象,虽然这个博客系统的页面效果不至于说是美轮美奂,但是视觉效果也还是比较简洁美观的,如果用户在浏览博客的时候忽然看到了上面这个页面,可能会觉得有点不自然,Spring Boot 提供的自定义错误页面太过于简单,与我们系统的页面效果对比起来显得过于单调。

第二个问题就是容易暴露业务信息,报错如下:

29.博客系统项目开发之错误页面制作

以上页面是一个错误码为 500 而导致的错误页面效果,下方的错误信息也直接将真实原因暴露了出来,无法连接数据库导致的该错误,当然,这只是举了其中一个例子而已,如果有其他原因导致了 500 错误,可能也会暴露出相应的业务信息,因此不太建议直接使用 Spring Boot 提供的错误页面。

基于以上两个原因,部分开发人员会想要修改这种错误页面,但是把 web.xml 重新加回到 Spring Boot 项目中,这种方案虽然可以实现,但是极不合理,也不是特别提倡这种方案,下面我们通过一个实践案例在 Spring Boot 项目中实现自定义错误页面的配置和显示。

实现步骤

ErrorController

ErrorController 是 Spring Boot 提供的一种错误页面配置方案,使用 ErrorController 这种方式是比较简单的一种方案,在 controller.common 包中新增 ErrorPageController.java 并实现 ErrorController 类,代码如下:

“`java
package com.lou.springboot.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.ServletWebRequest;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@Controller
public class ErrorPageController implements ErrorController {
private static ErrorPageController errorPageController;
@Autowired
private ErrorAttributes errorAttributes;
private final static String ERROR_PATH = “/error”;
public ErrorPageController(ErrorAttributes errorAttributes) {
this.errorAttributes = errorAttributes;
}
public ErrorPageController() {
if (errorPageController == null) {
errorPageController = new ErrorPageController(errorAttributes);
}
}
@RequestMapping(value = ERROR_PATH, produces = “text/html”)
public ModelAndView errorHtml(HttpServletRequest request) {
HttpStatus status = getStatus(request);
if (HttpStatus.BAD_REQUEST == status) {
return new ModelAndView(“error/error_400”);
} else if (HttpStatus.NOT_FOUND == status) {
return new ModelAndView(“error/error_404”);
} else {
return new ModelAndView(“error/error_5xx”);
}
}
@RequestMapping(value = ERROR_PATH)
@ResponseBody
public ResponseEntity> error(HttpServletRequest request) {
Map body = getErrorAttributes(request, getTraceParameter(request));
HttpStatus status = getStatus(request);

Spring Boot 博客系统项目开发之错误页面制作

29.博客系统项目开发之错误页面制作

本项目的开源仓库地址为:https://github.com/ZHENFENG13/My-Blog

除 My-Blog 项目外,我也在维护另外一个开源项目,仓库地址为:https://github.com/newbee-ltd/newbee-mall

29.博客系统项目开发之错误页面制作

感兴趣的朋友可以去关注一下。

文章总览

在 SSM 或者 SSH 组合框架开发 web 项目时,想要定义错误页面的话,只需要在 web.xml 配置文件中进行设置即可,但是在 Spring Boot 项目中并没有该配置文件,本实验将在 Spring Boot 项目中进行自定义错误页面的配置。

知识点

  • 自定义错误页面

环境

  • JDK 1.8 或者更高版本
  • Spring Boot 2.1.0-RELEASE
  • Maven 3+

自定义错误页面

在项目中为了使得用户获得更友好的交互体验,对于错误页面,我们常常会使用自定义的页面,这些页面通常会单独设计和实现,页面的视觉效果和提示信息往往会更加丰富。

在 SSM 或者 SSH 组合框架开发 web 项目时,想要自定义错误页面通常非常简单,我们通过拦截或者在 web.xml 中设置对于错误码的错误页面即可,然而到了 Spring Boot 项目开发中,已经没有了之前的 web.xml 配置文件,SpringBootServletInitializer 初始化 Servlet 代替了 web.xml,虽然 Spring Boot 也提供了错误页面,但是可能不太能够满足实际建站时的需求,这里我简单的整理了两个缺点。

首先是页面效果较为单调,自定义错误页面效果如下:

29.博客系统项目开发之错误页面制作

相信大家对于我们系统中的大部分页面都有印象,虽然这个博客系统的页面效果不至于说是美轮美奂,但是视觉效果也还是比较简洁美观的,如果用户在浏览博客的时候忽然看到了上面这个页面,可能会觉得有点不自然,Spring Boot 提供的自定义错误页面太过于简单,与我们系统的页面效果对比起来显得过于单调。

第二个问题就是容易暴露业务信息,报错如下:

29.博客系统项目开发之错误页面制作

以上页面是一个错误码为 500 而导致的错误页面效果,下方的错误信息也直接将真实原因暴露了出来,无法连接数据库导致的该错误,当然,这只是举了其中一个例子而已,如果有其他原因导致了 500 错误,可能也会暴露出相应的业务信息,因此不太建议直接使用 Spring Boot 提供的错误页面。

基于以上两个原因,部分开发人员会想要修改这种错误页面,但是把 web.xml 重新加回到 Spring Boot 项目中,这种方案虽然可以实现,但是极不合理,也不是特别提倡这种方案,下面我们通过一个实践案例在 Spring Boot 项目中实现自定义错误页面的配置和显示。

实现步骤

ErrorController

ErrorController 是 Spring Boot 提供的一种错误页面配置方案,使用 ErrorController 这种方式是比较简单的一种方案,在 controller.common 包中新增 ErrorPageController.java 并实现 ErrorController 类,代码如下:

“`java
package com.lou.springboot.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.error.ErrorAttributes;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.ServletWebRequest;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@Controller
public class ErrorPageController implements ErrorController {
private static ErrorPageController errorPageController;
@Autowired
private ErrorAttributes errorAttributes;
private final static String ERROR_PATH = “/error”;
public ErrorPageController(ErrorAttributes errorAttributes) {
this.errorAttributes = errorAttributes;
}
public ErrorPageController() {
if (errorPageController == null) {
errorPageController = new ErrorPageController(errorAttributes);
}
}
@RequestMapping(value = ERROR_PATH, produces = “text/html”)
public ModelAndView errorHtml(HttpServletRequest request) {
HttpStatus status = getStatus(request);
if (HttpStatus.BAD_REQUEST == status) {
return new ModelAndView(“error/error_400”);
} else if (HttpStatus.NOT_FOUND == status) {
return new ModelAndView(“error/error_404”);
} else {
return new ModelAndView(“error/error_5xx”);
}
}
@RequestMapping(value = ERROR_PATH)
@ResponseBody
public ResponseEntity> error(HttpServletRequest request) {
Map body = getErrorAttributes(request, getTraceParameter(request));
HttpStatus status = getStatus(request);

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 29.博客系统项目开发之错误页面制作求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们