springboot返回404错误页面

1.HandlerInterceptor 拦截器的使用
实现HandlerInterceptor 接口,或者继承重写了HandlerInterceptor 接口的类

2. HandlerInterceptor 常用的三种方法
1.boolean preHandle (HttpServletRequest request, HttpServletResponse response, Object handle)方法:该方法将在请求处理之前进行调用,只有该方法返回true,才会继续执行后续的Interceptor和Controller,当返回值为true 时就会继续调用下一个Interceptor的preHandle 方法,如果已经是最后一个Interceptor的时候就会是调用当前请求的Controller方法;
2.void postHandle (HttpServletRequest request, HttpServletResponse response, Object handle, ModelAndView modelAndView)方法:该方法将在请求处理之后,DispatcherServlet进行视图返回渲染之前进行调用,可以在这个方法中对Controller 处理之后的ModelAndView 对象进行操作。

3.在项目中使用拦截器 返回错误页面

package com.chat.chatroom.config;import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;/*** @author Mr sheng.z* @email 1865414XXXX@163.com* 拦截器 HandlerInterceptorAdapter 有三种方法可用。现在用的是第一种 预处理 preHandle* HandlerInterceptor接口主要定义了三个方法:* 1.boolean preHandle (HttpServletRequest request, HttpServletResponse response, Object handle)方法:该方法将在请求处理之前进行调用,只有该方法返回true,才会继续执行后续的Interceptor和Controller,当返回值为true 时就会继续调用下一个Interceptor的preHandle 方法,如果已经是最后一个Interceptor的时候就会是调用当前请求的Controller方法;* 2.void postHandle (HttpServletRequest request, HttpServletResponse response, Object handle, ModelAndView modelAndView)方法:该方法将在请求处理之后,DispatcherServlet进行视图返回渲染之前进行调用,可以在这个方法中对Controller 处理之后的ModelAndView 对象进行操作。* 3.void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handle, Exception ex)方法:该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行,该方法将在整个请求结束之后,也就是在DispatcherServlet 渲染了对应的视图之后执行。用于进行资源清理*/
@Component
public class ErrorPageInterceptor implements HandlerInterceptor {private List<Integer> errorCodeList = Arrays.asList(404, 403, 500);/*** preHandle 预处理** @param request* @param response* @return* @throws Exception*/public boolean preHandle(HttpServletRequest request, HttpServletResponse response) throwsException {if (errorCodeList.contains(response.getStatus())) {response.sendRedirect("/error/" + response.getStatus());return false;}return true;}public void postHandle(HttpServletRequest request, HttpServletResponse response) {System.out.println("postHandle run!");}public void afterCompletion(HttpServletRequest request, HttpServletResponse response) {System.out.println("afterCompletion run!");}
}

4.假如返回错误的话 重定向到错误Controller,并接收错误code,根据code可以判断不同状态下的错误页面。

package com.chat.chatroom.config;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;/*** 拦截器拦截  重定向到错误页面* @author Mr sheng.z* @email 1865414XXXX@163.com*/
@Controller
public class ErrorPageController {@RequestMapping(value = "/error/{code}")public String error(@PathVariable int code) {return "error";}
}

5.404页面–网上的模板 很简单完成了 springboot错误页面个性化定制

springboot返回404错误页面相关推荐

  1. IIS基础:返回404错误页面的合理设置方式

    IIS默认的错误页是很不友好的,很多人看到默认的错误页时都会说:网站打不开了!白白损失了这部分流量.而如果错误页直接跳转到首页又对搜索引擎很不友好,搞不好首页还会被封掉.所以根据情况,有两个方法解决这 ...

  2. WEB主机没有正确返回“404”错误页面

    nginx.conf修改每个server{}模块中添加:         error_page 404 /404.html;         location = /404.html {       ...

  3. php页面会返回状态200,服务器404错误页面http状态返回值为200的原因解析

    今天在网上找了很多关于404页面的相关资料,目的就是为了吃透关于404的一些知识. 登陆google管理工具后台,发现网站未验证,并提示:我们检测到您的 404(找不到文件)错误页在标头中返回了 20 ...

  4. iis7.5 php 404.17,win2008 r2中IIS7.5及以上设置404错误页面的正确方法

    1.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站. ...

  5. centos7 php 404,CentOS7 Apache环境配置自定义404错误页面怎么解决

    我的万云数据ECS用的 CentOS 7系统,我想在网站实现 自定义的 404页面,之前已经做了 伪静态,现在 修改了 根目录的 .htaccess, 也加了 404.html 在根目录,但是随机访问 ...

  6. android webview 加载进度和自定义404错误页面

    原帖地址:http://www.cnblogs.com/winxiang/archive/2012/10/25/2738320.html 自定义404页面.android的webview 控件可以加载 ...

  7. 在ASP.NET MVC3项目中,自定义404错误页面

    在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...

  8. 404是什么意思?404错误页面是怎么造成的

    平时我们在工作在把网站做好后,往往喜欢把404页面忘记在服务器里面进行设置,导致我们在有时候页面进行超链接的时候把链接写错了,有时候无意的时候去点击的时候,就出现404错误这样一个页面,搞的我们很无语 ...

  9. 服务器如何设置404错误页面

    (网站打不开或者出现死链接的时候都需要有一个美观的404页面,这样才能减少网站的调试率.) - 01 什么是自定义404错误页面? 404自定义错误页面就是当用户输入了错误的url地址或者输入了一个不 ...

最新文章

  1. 前台更新进度条js-4
  2. BZOJ.3227.[SDOI2008]红黑树tree(树形DP 思路)
  3. OpenJudge 2739 计算对数
  4. 15、Power Query-行列管理实例应用
  5. 4.2.1 OS之磁盘的结构(磁盘、磁道、扇区、盘面、柱面、磁头)
  6. curl -windows下接口通讯
  7. Solaris10 JumpStart服务器配置
  8. Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键
  9. SpringBoot2 整合 AXIS2 服务端和客户端
  10. VMware: linux起步提示 memory for crashkernel(0*0 to 0*0)not within permissible
  11. centos 安装java sdk_Linux——CentOS7使用yum命令安装Java SDK
  12. [转载] 羽毛球——学打羽毛球 05 正手发后场高远球练习方法
  13. 获取当前元素是第几个点击值
  14. 对比学习(Contrastive Learning)在CV与NLP领域中的研究进展
  15. (二) js + Vue 写扫雷
  16. 入手 M1 Mac 之前,你可以通过这个工具了解常用软件兼容性
  17. c语言读一字节程序,C语言读写二进制文件
  18. 用友软件常用名词解释
  19. 软件工程4 用例建模
  20. 计算机网络和internet选项,大师为你详解win10系统设置Internet选项的处理

热门文章

  1. html css js中分号的使用
  2. Unsupervised Domain Adaptive Re-Identification: Theory and Practice阅读总结
  3. Android OkHttp是如何上位的?
  4. 【云原生之k8s】kubeadm搭建k8s集群
  5. CDbCriteria CArrayDataProvider zii.widgets.grid (2)
  6. 如何改变思维导图的导图结构
  7. 【引用】古代官位名称
  8. 【历史上的今天】9 月 29 日:“美国支付宝” Stripe 正式上线;HotJava 面世;VR/AR 领域先驱诞生
  9. 小程序·云开发实战:SCRM社交化客户管理小程序
  10. 论文阅读:(NFM)Neural Factorization Machines for Sparse Predictive Analytics