【异常】This application has no explicit mapping for /error, so you are seeing this as a fallback的解决方法

简介: This application has no explicit mapping for /error, so you are seeing this as a fallback的解决方法

背景:使用 springboot + vue 构建的微信点餐系统

一、错误提示

最近在做一个项目,配置完信息以后,一直报错,访问URL报错信息如下:

3.png

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Jun 23 13:26:10 CST 2019

There was an unexpected error (type=Not Found, status=404).

No message available


二、错误原因

2.1 原因一:启动类的位置不对

Springboot项目启动类的位置不对。要将启动类放在最外侧,即包含所有子包。(spring-boot会自动加载启动类所在包下及其子包下的所有组件)

4.png

2.2 原因二:控制器的URL路径书写问题  

控制器的URL路径书写问题  

@RequestMapping(“/xxx”)  

实际访问的路径与"xxx"不符合。

2.3 原因三:配置文件中视图解析器的配置问题

在springboot的配置文件中(application.yml或application.properties)关于视图解析器的配置问题:

当pom文件下的spring-boot-starter-paren版本高时使用:spring.mvc.view.prefix/spring.mvc.view.suffix

当pom文件下的spring-boot-starter-paren版本低时使用:spring.view.prefix/spring.view.suffix

三、解决方案

注意此项目引入的Spring Boot 版本是2.1.5的,然后项目的配置文件(application.yml)信息如下:

spring:  datasource:    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: 123456    url: jdbc:mysql://192.168.31.204/sell?characterEncoding=utf-8&useSSL=false
  jpa:    show-sql: trueserver:  context-path: /sell

上网查了很多,原因是SpringBoot启动类(main方法所在的类)未放在根目录下,导致@SpringBootApplication扫描不全所有包。

3.1 解决方案一

针对原因一的解决方案,也是官网上建议的:将SpringBoot启动类(main方法所在的类)即Application.java放置在和Controller同级目录,如下图所示。

官网那边说明是,程序只加载Application.java所在包及其子包下的内容。

5.png

3.2 解决方案二

针对原因二,在浏览器中输入的路径与项目中写的路径要一致,如下图所示:

6.png

而我所遇到的还不是因为这个原因,因为我的包目录结构是正确的。我的项目出现WhitePage的原因竟然是spring-boot配置文件(application.yml)中server.context-path不起作用。不起作用的原因也已经查明:server.context-path的配置方式是SpringBoot 1.x.x版本中出现的,而我引用是2.x.x版本的,需要更改为server: servlet: context-path: /sell,/sell是访问的URL中用到的,以后再详细说明。其实归根结底还是访问的路径不存在的原因。

3.3 解决方案三

针对原因三,解决方案已经写在原因说明里了,直接按照说明修改即可。

springboot 在未配置访问静态资源的情况下,会默认到 templates 文件夹下找index页面。。我现在还没有配置,后续会继续编写。


关于server.context-path不起作用的详细说明可以点击查看此链接spring-boot配置文件中server.context-path不起作用的解决方案_No8g攻城狮的博客-CSDN博客


Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Jun 23 13:26:10 CST 2019

There was an unexpected error (type=Not Found, status=404).

No message available


本文首发于CSDN,为博主原创文章,如果需要转载,请注明出处,谢谢!


完结!

相关文章
|
Java Spring 容器
解决Spring的UnsatisfiedDependencyException异常的方法
在Spring开发中,UnsatisfiedDependencyException异常意味着依赖注入失败,影响应用稳定性。该异常由Spring容器在无法满足bean依赖时抛出,常见原因包括bean定义错误、循环依赖、多个候选bean等。解决方法包括:检查bean定义和注入的正确性、解决循环依赖、确认依赖包的兼容性、使用@Qualifier或@Primary注解。通过日志、调试工具和异常对比来定位问题。持续学习Spring框架有助于更好地解决此类异常。
9004 1
静态资源路径访问不到的问题,Whitelabel Error Page,There was an unexpected error,解决bug的好方法,大量翻看别人的文章,终究是粗心惹的祸
静态资源路径访问不到的问题,Whitelabel Error Page,There was an unexpected error,解决bug的好方法,大量翻看别人的文章,终究是粗心惹的祸
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
9956 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
24839 72
|
Java Maven Spring
如何在idea中创建Springboot项目? 手把手带你创建Springboot项目,稳!
文章详细介绍了在IDEA中创建Spring Boot项目的过程,包括选择Spring Initializr、配置项目属性、选择Spring Boot版本、导入依赖、等待依赖下载以及项目结构简介。
12539 1
|
Java 数据库连接 mybatis
成功解决: Invalid bound statement (not found) 在已经使用mybatis的项目里引入mybatis-plus,结果不能共存的解决
这篇文章讨论了在已使用MyBatis的项目中引入MyBatis-Plus后出现的"Invalid bound statement (not found)"错误,并提供了解决方法,主要是通过修改yml配置文件来解决MyBatis和MyBatis-Plus共存时的冲突问题。
成功解决: Invalid bound statement (not found) 在已经使用mybatis的项目里引入mybatis-plus,结果不能共存的解决
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
前端开发 Java API
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
本文提供了一份详细的Swagger接口文档生成工具的使用教程,包括了导入依赖、配置类设置、资源映射、拦截器配置、Swagger注解使用、生成接口文档、在线调试页面访问以及如何设置全局参数(如token),旨在帮助Java开发者快速上手Swagger。
7450 0
Swagger接口文档 —— 手把手教学,全方位超详细小白能看懂,百分百能用Java版
|
Oracle Java 关系型数据库
jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?
本文提供了详细的JDK 17安装教程,包括下载、安装、配置环境变量的步骤,并解释了在已有其他版本JDK的情况下如何管理多个JDK环境。
18226 0
解决出现的java: 无法访问org.springframework.boot.SpringApplication问题~
解决出现的java: 无法访问org.springframework.boot.SpringApplication问题~
978 0