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

Java Spring Boot Web App:处理404异常

Java Spring Boot Web App是一个基于Java语言和Spring Boot框架开发的Web应用程序。它可以用于构建高效、可扩展和易于维护的Web应用程序。

处理404异常是Web应用程序开发中常见的任务之一。当用户访问一个不存在的URL时,服务器会返回404错误码,表示资源未找到。为了提供更好的用户体验,我们可以通过以下方式处理404异常:

  1. 自定义404页面:可以创建一个自定义的404页面,向用户展示友好的错误信息和导航选项,帮助用户找到正确的页面。在Spring Boot中,可以通过创建一个error/404.html文件来定义404页面的内容。
  2. 异常处理器:可以编写一个异常处理器来捕获404异常,并返回自定义的错误页面或错误信息。在Spring Boot中,可以使用@ControllerAdvice注解和@ExceptionHandler注解来定义全局的异常处理器。

下面是一个处理404异常的示例代码:

代码语言:txt
复制
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(NoHandlerFoundException.class)
    public ModelAndView handle404Exception(HttpServletRequest request, HttpServletResponse response) {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("error/404");
        modelAndView.addObject("url", request.getRequestURL());
        modelAndView.addObject("errorMessage", "Page not found");
        return modelAndView;
    }
}

在上面的代码中,handle404Exception方法使用@ExceptionHandler注解来捕获NoHandlerFoundException异常,该异常表示404错误。方法返回一个ModelAndView对象,指定了要渲染的视图名称和传递给视图的数据。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供高性能、可扩展的云服务器实例,适用于部署Java Spring Boot Web App。详情请参考:腾讯云云服务器
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的对象存储服务,可用于存储Web应用程序的静态资源。详情请参考:腾讯云对象存储
  • 腾讯云负载均衡(CLB):提供高可用、可扩展的负载均衡服务,用于将流量分发到多个后端服务器,提高Web应用程序的性能和可靠性。详情请参考:腾讯云负载均衡

请注意,以上推荐的腾讯云产品仅作为示例,其他云计算品牌商也提供类似的产品和服务。

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

相关·内容

Spring Boot 异常处理

Java 异常类首先让我们简单了解或重新学习下 Java异常机制。...Error 是不可捕捉的异常,通俗的说就是由于 Java 内部 JVM 引起的不可预见的异常Java 虚拟机会选择终止线程。...我们可以通过 throws 配合 try-catch 来处理Java 异常处理机制在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。...当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止。同时,意味着 Java 程序的终止。Spring Boot 异常处理Spring Boot 的所有异常处理都基于 java 的。...在 Spring Boot 应用程序中,通常统一处理异常的方法有 使用注解处理 RestControllerAdvice本示例主要目的处理我们日常 Spring Boot 中的异常处理Web 项目中通过

17311
  • Java异常体系、UncaughtExceptionHandler、Spring MVC统一异常处理Spring Boot统一异常处理

    拓展 UncaughtExceptionHandler 在虚拟机中,当一个线程没有显式处理(即try catch)异常而抛出时,会将该异常事件报告给该线程对象的java.lang.Thread.UncaughtExceptionHandler...MVC异常处理机制 参考Spring MVC系列之九大核心组件中的HandlerExceptionResolver部分。...Spring MVC全局异常处理 每个Controller层里的方法都需要进行异常捕获及处理,显然太繁琐且效率低。...(前端或其他后端服务) 返回ModelAndView 返回页面的地址 返回JSON 返回HTTP错误码 当然也可以使用下面Spring Boot全局异常处理方案。...Spring Boot全局异常处理 直接给出配置类: @Slf4j // 复合注解 = @ControllerAdvice + @ResponseBody @RestControllerAdvice public

    11310

    Spring boot异常处理

    Spring boot的默认异常处理机制 我们以访问一个不存在的页面的场景为例,结果是返回一个错误页面: ?...若报错回跳转到/error的URL,同一个URL不同的处理方式是由Spring boot提供的BasicErrorController错误控制器实现的。...Error count: 1", "path": "/user/1" } 进入到服务里面抛出异常处理机制 一般如果是在我们的服务里面报的错误,Spring boot默认会响应给浏览器的是一个状态码的...", "message": "user not exist", "path": "/user/1" } 浏览器端自定义错误处理机制 虽然由spring boot提供的默认处理机制可以很好的处理我们的异常...这种方式是安装spring boot的约束来自定义的,他仅能适用于浏览器的请求,而对app返回的任然是json。

    1.1K30

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

    默认情况下,Spring Boot为基于SpringMVC的Web应用提供了全局统一异常处理,本篇将深入介绍默认的统一异常处理及自定义异常处理,主要包含以下4部分内容: 默认异常处理; 覆盖默认异常处理...默认异常处理 通过浏览器请求一个不存在的页面或服务端处理发生异常时,Spring Boot会返回类似如下的错误提示页面: ?...", "path": "/index.html" } 通过断点调试可以发现,当请求一个不存在的url或服务端处理发生异常时,Spring Boot捕获到这个异常后会请求/error,这个/error...覆盖默认异常处理 虽然Spring Boot提供了默认全局统一异常处理机制,但在真实的应用中,这样的错误提示并不友好,所以,需要修改这种默认处理机制。...自定义异常处理 Spring Boot仍然支持SpringMVC原有的异常处理机制,可以用@ControllerAdvice注解和@ExceptionHandler注解实现对指定异常的特殊处理,例如如下代码

    1.4K80

    Spring BootWeb应用的统一异常处理

    我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。...Spring Boot提供了一个默认的映射: /error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。...统一异常处理 虽然,Spring Boot中实现了默认的error映射,但是在实际应用中,上面你的错误页面对用户来说并不够友好,我们通常需要去实现我们自己的异常提示。...下面我们以之前的Web应用例子为基础(Chapter3-1-2),进行统一异常处理的改造。...Boot中创建统一的异常处理,实际实现还是依靠Spring MVC的注解,更多更深入的使用可参考Spring MVC的文档。

    1.2K60

    技术分享 | Spring Boot 异常处理

    Java 异常类首先让我们简单了解或重新学习下 Java异常机制。...Error 是不可捕捉的异常,通俗的说就是由于 Java 内部 JVM 引起的不可预见的异常Java 虚拟机会选择终止线程。...我们可以通过 throws 配合 try-catch 来处理Java 异常处理机制在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。...当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止。同时,意味着 Java 程序的终止。Spring Boot 异常处理Spring Boot 的所有异常处理都基于 java 的。...在 Spring Boot 应用程序中,通常统一处理异常的方法有 使用注解处理 RestControllerAdvice本示例主要目的处理我们日常 Spring Boot 中的异常处理Web 项目中通过

    60500

    Spring Boot项目全局异常处理

    全局异常处理的方式。 这个我之前做营销网站的时候就想搞了,那时异常处理有点乱,重复代码很多,想想我自己也有点问题,没有往这方面想,现在想想有点后悔,希望以后别再犯类似的错。...统一异常处理加起来倒是不麻烦,可以减少重复代码,让看来更简洁易懂。 下面的代码只是粗略写写,实际应用中需要进行适当修改,但是思路是一样的。..., SERVER_ERROR(9997,"业务异常"); private final int resultCode; private final String resultMsg...resultMsg) { this.resultCode = resultCode; this.resultMsg = resultMsg; } } 4、定义全局异常处理类...代码结构如下: image.png Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/springboot项目全局异常处理

    57020

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

    点击关注公众号,Java干货及时送达 作者:xbhog 链接:www.cnblogs.com/xbhog/p/15207278.html 异常处理: 背景: 最近在搭建属于自己的个人博客(码农小白的执念...推荐一个 Spring Boot 基础教程及实战示例: https://github.com/javastacks/spring-boot-best-practice 异常处理 个人粗糙的学习和理解,我把异常错误分为三个...如果我想从所有的异常中剥离出404异常并返回给SpringBoot让他自动处理页面怎么解。最新 Spring Boot 面试题整理好了,大家可以在Java面试库小程序在线刷题。 按照学习的来说。...Java 18 发布,默认 UTF-8,finalize 被弃用。。 Spring Boot 3.0 M1 发布,正式弃用 Java 8 Spring Boot 学习笔记,这个太全了!...关注Java技术栈看更多干货 获取 Spring Boot 实战笔记!

    88540

    Spring Boot中Freemarker异常处理

    线程池的线程处理handler 根据输入流解析请求(解析请求行,解析消息头,解析消息正文) 根据输出流创建响应对象(发送状态行信息,发送响应头信息,发送响应正文信息) > 寻找...servlet 根据请求路径找到需要哪个servlet处理(选择handler) 通过反射机制加载这个类 实例化servlet servlet处理请求(执行handler结束) <<跳转html处理结束...Freemarker与Web容器无关,web项目中的异常处理(@ControllerAdvice)只处理web请求,经由controller引发的异常,无法处理freemarker的异常,为了不让ftl...out) { logger.error(templateException.getMessage()); } } 这样即使ftl解析错误,比如某个变量没有定义,可以忽略,只是后台抛异常...,然后整个页面还是会渲染出来还会继续解析页面,提高项目处理异常的健壮性。

    1.6K60

    Spring Boot Web 静态文件缓存处理

    采用Spring Boot + Freemarker开发Web项目时,由于一些静态文件比较大,如果是在PC上访问影响不大,当在手机上访问时,特别是用流量访问时速度会慢很多,而且很耗流量。...今天给大家介绍一种其他的缓存优化方式,通过Spring的缓存机制来缓存静态文件,在Spring Boot中配置静态文件缓存只需要在配置文件中加入下面的配置即可: # 资源缓存时间,单位秒 spring.resources.cache-period...:https://docs.spring.io/spring-boot/docs/1.5.4.RELEASE/reference/htmlsingle/ 的SPRING RESOURCES HANDLING...使用方式如下: <link rel="stylesheet" href="css/main-<em>app</em>.css?version=${version!}"...=/** 增加Url的处理: @ControllerAdvice public class ControllerConfig { @Autowired ResourceUrlProvider

    2.3K120

    Spring Web MVC框架(六) 异常处理

    Spring Web MVC对异常处理有着完善的支持,我们可以捕获控制器中抛出的任何异常,然后按照异常类型将异常信息映射到某个视图文件,向用户显示对应的信息。...异常解析器 另外一种异常处理办法就是使用异常解析器。我们可以使用 SimpleMappingExceptionResolver将异常类型和异常视图关联起来。...也可以自己实现一个HandlerExceptionResolver用于处理异常。使用方法可以参考这篇博客Spring MVC 系统异常处理方式及性能对比。...Spring默认情况下也会注册一个异常解析器DefaultHandlerExceptionResolver,将Spring异常映射到4XX和5XX错误,详情参见Spring参考文档 22.11.3....在Spring Web MVC中,该页面不仅可以是一个HTML或JSP页面,也可以是控制器中某个处理方法接受的URL。

    33920
    领券