springboot返回404错误页面
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错误页面相关推荐
- IIS基础:返回404错误页面的合理设置方式
IIS默认的错误页是很不友好的,很多人看到默认的错误页时都会说:网站打不开了!白白损失了这部分流量.而如果错误页直接跳转到首页又对搜索引擎很不友好,搞不好首页还会被封掉.所以根据情况,有两个方法解决这 ...
- WEB主机没有正确返回“404”错误页面
nginx.conf修改每个server{}模块中添加: error_page 404 /404.html; location = /404.html { ...
- php页面会返回状态200,服务器404错误页面http状态返回值为200的原因解析
今天在网上找了很多关于404页面的相关资料,目的就是为了吃透关于404的一些知识. 登陆google管理工具后台,发现网站未验证,并提示:我们检测到您的 404(找不到文件)错误页在标头中返回了 20 ...
- iis7.5 php 404.17,win2008 r2中IIS7.5及以上设置404错误页面的正确方法
1.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站. ...
- centos7 php 404,CentOS7 Apache环境配置自定义404错误页面怎么解决
我的万云数据ECS用的 CentOS 7系统,我想在网站实现 自定义的 404页面,之前已经做了 伪静态,现在 修改了 根目录的 .htaccess, 也加了 404.html 在根目录,但是随机访问 ...
- android webview 加载进度和自定义404错误页面
原帖地址:http://www.cnblogs.com/winxiang/archive/2012/10/25/2738320.html 自定义404页面.android的webview 控件可以加载 ...
- 在ASP.NET MVC3项目中,自定义404错误页面
在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...
- 404是什么意思?404错误页面是怎么造成的
平时我们在工作在把网站做好后,往往喜欢把404页面忘记在服务器里面进行设置,导致我们在有时候页面进行超链接的时候把链接写错了,有时候无意的时候去点击的时候,就出现404错误这样一个页面,搞的我们很无语 ...
- 服务器如何设置404错误页面
(网站打不开或者出现死链接的时候都需要有一个美观的404页面,这样才能减少网站的调试率.) - 01 什么是自定义404错误页面? 404自定义错误页面就是当用户输入了错误的url地址或者输入了一个不 ...
最新文章
- 前台更新进度条js-4
- BZOJ.3227.[SDOI2008]红黑树tree(树形DP 思路)
- OpenJudge 2739 计算对数
- 15、Power Query-行列管理实例应用
- 4.2.1 OS之磁盘的结构(磁盘、磁道、扇区、盘面、柱面、磁头)
- curl -windows下接口通讯
- Solaris10 JumpStart服务器配置
- Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键
- SpringBoot2 整合 AXIS2 服务端和客户端
- VMware: linux起步提示 memory for crashkernel(0*0 to 0*0)not within permissible
- centos 安装java sdk_Linux——CentOS7使用yum命令安装Java SDK
- [转载] 羽毛球——学打羽毛球 05 正手发后场高远球练习方法
- 获取当前元素是第几个点击值
- 对比学习(Contrastive Learning)在CV与NLP领域中的研究进展
- (二) js + Vue 写扫雷
- 入手 M1 Mac 之前,你可以通过这个工具了解常用软件兼容性
- c语言读一字节程序,C语言读写二进制文件
- 用友软件常用名词解释
- 软件工程4 用例建模
- 计算机网络和internet选项,大师为你详解win10系统设置Internet选项的处理
热门文章
- html css js中分号的使用
- Unsupervised Domain Adaptive Re-Identification: Theory and Practice阅读总结
- Android OkHttp是如何上位的?
- 【云原生之k8s】kubeadm搭建k8s集群
- CDbCriteria CArrayDataProvider zii.widgets.grid (2)
- 如何改变思维导图的导图结构
- 【引用】古代官位名称
- 【历史上的今天】9 月 29 日:“美国支付宝” Stripe 正式上线;HotJava 面世;VR/AR 领域先驱诞生
- 小程序·云开发实战:SCRM社交化客户管理小程序
- 论文阅读:(NFM)Neural Factorization Machines for Sparse Predictive Analytics