首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

捕获404错误spring boot以返回自定义html

捕获404错误是指在使用Spring Boot框架开发Web应用时,当用户访问一个不存在的URL时,系统能够捕获该错误并返回自定义的HTML页面。

在Spring Boot中,可以通过自定义错误处理器来实现捕获404错误并返回自定义HTML页面的功能。具体步骤如下:

  1. 创建一个自定义的错误处理器类,该类需要实现Spring Boot提供的ErrorController接口。可以命名为CustomErrorController
  2. 在自定义错误处理器类中,重写getErrorPath()方法,返回一个固定的路径,用于处理404错误。
  3. 在自定义错误处理器类中,编写一个处理404错误的方法,可以命名为handleError404()。在该方法中,可以返回一个包含自定义HTML页面的ModelAndView对象。
  4. 在自定义错误处理器类中,使用@Controller注解将该类声明为一个控制器。
  5. 在自定义错误处理器类中,使用@RequestMapping注解将处理404错误的方法与固定路径进行映射。
  6. 在Spring Boot的配置文件中,添加配置项server.error.whitelabel.enabled=false,禁用Spring Boot默认的错误页面。

通过以上步骤,当用户访问一个不存在的URL时,Spring Boot会自动捕获404错误,并将请求交给自定义错误处理器进行处理。自定义错误处理器会返回一个包含自定义HTML页面的响应。

这种方式可以提供更好的用户体验,使用户在访问不存在的URL时能够看到友好的错误提示页面。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云负载均衡(CLB)、腾讯云对象存储(COS)。

腾讯云云服务器(CVM):提供弹性、安全、稳定的云服务器,可满足各种规模的应用需求。详情请参考:腾讯云云服务器

腾讯云负载均衡(CLB):实现流量分发,提高应用的可用性和负载能力。详情请参考:腾讯云负载均衡

腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于各种场景的数据存储和处理需求。详情请参考:腾讯云对象存储

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 解决Spring Boot请求接口返回400错误的排查方法

    在开发过程中,遇到接口返回400错误是比较常见的情况。这种错误通常表示请求的参数有问题,但有时候却没有提供具体的错误信息,给排查带来了一定的困扰。...本篇文章将介绍一种解决方法,通过实际案例展示如何排查并解决Spring Boot请求接口返回400错误。概述 在实际案例中,编写了一个新增接口/sync用于同步商品档案信息。...在最初的代码实现中,请求参数使用了自定义的实体对象StyleBillsRequest作为方法参数,并使用@RequestBody注解来接收请求的JSON数据。...然而,当调用该接口时,始终返回400错误,没有提供任何具体的错误信息。初步排查 根据同事的指点,怀疑请求参数的JSON结构与实体对象的字段结构不匹配,导致无法正确转换。...Boot请求接口返回400错误的问题。

    3.6K10

    深入Spring Boot (九):Web应用统一异常处理

    默认异常处理 通过浏览器请求一个不存在的页面或服务端处理发生异常时,Spring Boot返回类似如下的错误提示页面: ?...", "path": "/index.html" } 通过断点调试可以发现,当请求一个不存在的url或服务端处理发生异常时,Spring Boot捕获到这个异常后会请求/error,这个/error...等调试工具发送请求时,默认情况下请求头中没有Accept信息,所以请求进入error方法处理,Spring Boot返回一个Json格式的错误信息字符串,具体代码如下图所示。...例如使用freemarker模板引擎,并且模板后缀名为.html,可以有如下自定义错误页面。 ?...当请求一个不存在资源的url时状态码为404,此时显示404.html页面;当服务端处理发生异常时状态码为500,此时显示500.html页面。 END 如果觉得有收获,记得关注、点赞、转发。

    1.4K80

    Spring Cloud 如何统一异常处理?写得太好了!

    {[/error]} 的访问地址,当系统中发送异常错误时,Spring Boot 会根据请求方式分别跳转到 JSON 格式或以界面显示的 /error 地址中显示错误信息。...方式请求时返回的 JSON 格式错误信息。...message": "No handler found for GET /err404",     "path": "/err404" } 使用浏览器请求时返回错误信息界面。...增加配置 # 出现错误时, 直接抛出异常(便于异常统一处理,否则捕获不到404) spring.mvc.throw-exception-if-no-handler-found=true # 不要为工程中的资源文件建立映射...spring.resources.add-mappings=false spring:   # 出现错误时, 直接抛出异常(便于异常统一处理,否则捕获不到404)   mvc:     throw-exception-if-no-handler-found

    1.7K10

    SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver

    response.addHeader("Content-Type", "text/html; charset=UTF-8"); 如果没有这一行,会出现中文乱码的情况 我们纯后端应用,不想返回视图,直接想...\n").append(msg).flush();; 如果项目中有自定义错误页面,可以通过返回ModelAndView来确定最终返回错误页面 上面一个代码并不会直接生效,需要注册,可以在WebMvcConfigurer...500异常会进入我们的自定义异常处理类, 而404依然走的是默认的错误页面,所以如果我们需要捕获404异常,依然需要在配置文件中添加 # 出现错误时, 直接抛出异常 spring.mvc.throw-exception-if-no-handler-found...下面尽量通俗易懂的方式说明下这个问题 java web应用,除了返回json类数据之外还可能返回网页,js,css 我们通过 @ResponseBody来表明一个url返回的是json数据(通常情况下是这样的...项目:https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/209-web-error

    1K50

    Spring Boot 异常处理,值得学习!

    推荐一个 Spring Boot 基础教程及实战示例: https://github.com/javastacks/spring-boot-best-practice 异常处理 个人粗糙的学习和理解,我把异常错误分为三个...,4xx,5xx,error(自定义) 常用的是404和500响应 404 (未找到) 服务器找不到请求的网页 服务器内部错误 服务器遇到错误,无法完成请求 在templates文件下创建404.html...“当我想将错误信息返回到我自定义的页面怎么写? ” 我们自顶向下来思考: 我们访问页面的时候,页面发生错误也好,找不到也好,是不是都要走它请求的Url,那我们怎么处理这个请求呢?...@ExceptionHandler(Exception.class) // 表示 捕获 全部异常 ModelAndView 其实就是两个作用,一个是指定返回页面,另一个是在返回页面的同时添加属性 通过Logger...如果我想从所有的异常中剥离出404异常并返回给SpringBoot让他自动处理页面怎么解。最新 Spring Boot 面试题整理好了,大家可以在Java面试库小程序在线刷题。 按照学习的来说。

    88540

    「跳转404错误页面」「全局异常捕获

    这个时候常见的操作有两种: 跳转错误页面,例如:找不到路径的时候跳转404,代码报错的时候跳转500等 响应统一的报错信息,使用Result对象(自定义的实体类)封装错误码,错误描述信息响应【分布式服务调用的时候推荐使用...400.html,或者500.html,出现对应的响应状态的时候(404和500的使用),会跳转到对应的页面 ?...自定义错误页面的配置 以上是SpringBoot关于错误页面的默认配置,但是很多时候我们的需求比SpringBoot的默认配置要复杂很多,例如:404页面不想放在error文件夹下,500错误的时候也不想跳转页面...这就要用到全局异常捕获了。 全局异常捕获 还记得文章开头说过的第二个场景吗?使用Result对象(自定义的实体类)统一封装异常状态码,异常信息,进行返回。通过全局异常捕获就可以实现。...测试的要求是: 捕获自定义异常,封装Result对象json的格式响应 捕获自定义异常,跳转到错误页面 1.自定义异常 在应用开发过程中,除系统自身的异常外,不同业务场景中用到的异常也不一样,很多时候需要自定义异常

    1.5K30

    知识点-Spring Boot 统一异常处理汇总

    在实际开发中,我们会遇到很多异常,在发生异常的时候Spring Boot默认提供了错误页面展示给用户。看似比较友好,其实页面很丑。...上面讲的是做页面开发的时候遇到的问题,还有一种情况就是用来开发Rest接口,当错误的时候我们希望返回给用户的是我们接口的标准格式,不是返回一段html代码。...Boot中也非常简单,直接编写对应的错误页面,进行覆盖即可: /** * 自定义错误页面覆盖spring boot中的错误页面 * @author yinjihuan * */ @Controller...,然后封装好返回格式,返回给调用方 最后关键的一步是在spring boot的配置文件中加上如下配置: #出现错误时, 直接抛出异常 spring.mvc.throw-exception-if-no-handler-found...=true #不要为我们工程中的资源文件建立映射 spring.resources.add-mappings=false 然后我们调用一个不存在的接口时,返回错误信息就是我们自定义的那种格式了 {

    86620

    Spring boot的异常处理

    Spring boot的默认异常处理机制 我们访问一个不存在的页面的场景为例,结果是返回一个错误页面: ?...而我们的spring boo会根据不同的渠道做出不同的响应,是浏览器发的就返回html,不是则是json。...若报错回跳转到/error的URL,同一个URL不同的处理方式是由Spring boot提供的BasicErrorController错误控制器实现的。...这种方式是安装spring boot的约束来自定义的,他仅能适用于浏览器的请求,而对app返回的任然是json。...其他的客户端自定义错误处理机制 有些时候,我们的想要的异常返回结果还需要有其他的错误信息。下面我来实现用户不存在的异常。并且返回的异常包含不存在的用户得id。

    1.1K30

    重学SpringBoot3-ErrorMvcAutoConfiguration类

    的方式主要有以下几种: 添加自定义错误页面:在 src/main/resources/static/error 目录下添加自定义错误页面,如 404.html、500.html等。...Spring Boot 会自动识别这些页面,并在相应的错误发生时使用它们。 自定义错误控制器:通过创建一个实现了 ErrorController 接口的Bean,可以自定义错误处理逻辑。...添加自定义错误页面 在Spring Boot应用中,可以通过在 src/main/resources/static/error目录下添加错误页面来自定义错误响应。...例如,对于404错误(页面未找到),可以添加一个名为 404.html的页面。同样地,对于500错误(服务器内部错误),可以添加一个名为 500.html的页面。...示例代码: 假设你已经创建了 404.html和 500.html在 src/main/resources/static/error目录下,无需其他配置,Spring Boot会自动使用这些页面响应相应的错误

    10410

    SpringBoot2-----异常处理

    异常处理 错误处理 1、默认规则 error/下的4xx,5xx页面会被自动解析 2、定制错误处理逻辑 自定义错误页 error/404.html error/5xx.html;有精确的错误状态码页面就匹配精确...:自定义异常 Spring底层的异常,如 参数类型转换异常;DefaultHandlerExceptionResolver 处理框架底层的异常。...,默认最低 ErrorViewResolver 实现自定义处理异常; 3、异常处理自动配置原理 4、异常处理步骤流程 ---- 错误处理 1、默认规则 默认情况下,Spring Boot提供/error...对于浏览器客户端,响应一个“ whitelabel”错误视图,HTML格式呈现相同的数据 ---- error/下的4xx,5xx页面会被自动解析 ---- 2、定制错误处理逻辑 自定义错误页...error/404.html error/5xx.html;有精确的错误状态码页面就匹配精确,没有就找 4xx.html;如果都没有就触发白页 ---- @ControllerAdvice+@ExceptionHandler

    62210

    Spring Security技术栈开发企业级认证与授权(四)RESTful API服务异常处理

    当我们从浏览器访问不存在的Spring Boot的RESTful API的时候,往往会返回Spring Boot内置的404错误界面,但是作为前后端分离的应用,相同的API也许会在其他终端访问,比如手机...一、Spring Boot的默认处理方式分析 从浏览器端访问 启动Spring Boot项目,从浏览器访问一个不存在的API,如“/user/hello”,这时候返回来的是一个HTML页面,如下图所示:...二、自定义服务异常处理 在实际的开发过程中,如果出现404或者500的错误的时候,返回给浏览器是Spring Boot默认的处理界面,这并不友好,我们可以实现自定义页面来给出更好的温馨提示。...404.html和500.html,在访问出现404错误的时候,就会跳转到我们自己定义的HTML中,而不是Spring Boot默认的界面。...自定义服务异常处理类 在实际的开发中,我们完全可以自定义服务异常处理类,满足实际的开发需求。这里写一个异常类,在业务逻辑处理中,可以根据需要手动抛出自己自定义的异常。

    79831

    Sprinboot中使用AOP实现异常处理

    不需要去想页面跳转404,以及异常响应的数据结构的设计。 面向前端人员友好,后端返回给前端的数据应该有统一的数据结构,统一的规范。不能一个人一个响应的数据结构。...为什么要将系统运行时异常捕获,转换为自定义异常抛出?...自定义不方便记忆。200请求成功,400用户输入错误导致的异常,500系统内部异常,999未知异常。 自定义异常里面有message属性,一定用友好的语言描述异常,并赋值给message....面临的问题:程序员抛出自定义异常CustomException,全局异常处理截获之后返回@ResponseBody AjaxResponse,不是ModelAndView,所以我们无法跳转到error.html... spring-boot-starter-aop 新定义一个异常类

    1.4K20
    领券