首页 > 其他分享 >【异常】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的解决方法

时间:2023-05-24 20:00:40浏览次数:34  
标签:seeing 配置文件 no spring explicit server application 解决方案 原因


本文目录

一、错误提示

二、错误原因

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

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

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

三、解决方案

3.1 解决方案一

3.2 解决方案二

3.3 解决方案三


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

一、错误提示

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

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

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会自动加载启动类所在包下及其子包下的所有组件)

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

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

控制器的URL路径书写问题 

@RequestMapping(“/xxx”) 

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

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

在springboot的配置文件中(application.ymlapplication.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: true
server:
  context-path: /sell

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

3.1 解决方案一

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

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

   

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

3.2 解决方案二

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

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

而我所遇到的还不是因为这个原因,因为我的包目录结构是正确的。我的项目出现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不起作用的解决方案

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

完结!

标签:seeing,配置文件,no,spring,explicit,server,application,解决方案,原因
From: https://blog.51cto.com/u_16128050/6342832

相关文章

  • c#中用System.Diagnostics.Process.Start(Path.GetFullPath(“vlc.exe.lnk“), url);用
    vlc.exe.lnk双击这个文件,能正常打开vlc,但是用System.Diagnostics.Process.Start(Path.GetFullPath("vlc.exe.lnk"),url);没有任何反应。根据常理,不应该出现这个问题。但是现实就是这么魔幻,偏偏有这个问题。根据上面图,根据快捷方式是可以获取到vlc可执行文件的路径的,然后在网上......
  • 防止Cannot allocate memory(无法分配内存)
    防止Cannotallocatememory(无法分配内存)值为不超过总内存的1%即可,我这里设置的是512M,min_free_kbytes表示强制Linux系统最低保留的空闲内存(Kbytes),如果系统可用内存低于设定的min_free_kbytes值,则默认系统启动oom-killer或强制重启。具体行为由内核参数vm.panic_on_oo......
  • git指令连接库失败:OpenSSL SSL_read: Connection was reset, errno 10054
    一、问题描述无论是gitclone还是gitpush之类的需要连接库的指令都会出现`fatal:unabletoaccess'http://github.com/我的库/':OpenSSLSSL_read:Connectionwasreset,errno10054`报错原因:字面意思:服务器的SSL证书灭有经过第三方机构的签署。网上信息也有的说可能......
  • LinuxMint 安装 .NET 7 发生No SDKs were found.
    一、环境LinuxMint21.1二、安装方式1.通过系统软件管理器,搜索DotNetSDK安装.net7SDK2.dotnet--info查看.net信息,提示.NETSDKsInstalled:NoSDKswerefound.  3.查看安装程序(1)/usr/lib/dotnet检查/usr/lib/dotnet中,是否存在sdk,sdk-manifests,templates目录?(2)/us......
  • selenium 启动ie浏览器报错:Unexpected error launching Internet Explorer. Protected
    解决selenium启动ie浏览器报错:UnexpectederrorlaunchingInternetExplorer.ProtectedModesettingsarenotthesameforallzones错误原因是IE浏览器中的安全选项设置不一致。打开IE浏览器,进入Internet选项, 确保这四个区域的启用保护模式设置保持一致应用即可。......
  • abc273_e Notebook 题解
    Notebook题意有\(q\)次操作。现在你有一个空序列\(a\)和一本\(10^9\)页的笔记本,每页纸上都有一个空序列。每次操作是以下四种中的一种:ADDx,表示在\(a\)的末尾插入一个整数\(x\)。DELETE,表示删除\(a\)的末尾的一个数,如果\(a\)序列为空则什么也不干。SAVEy,表......
  • git拉取代码出现“remote: The project you were looking for could not be found.”
    如果输入的远程地址正确,那么极大可能是用户未登录或多个用户登录无法正确获取你想要的用户,如下图所示, 由于之前有同事在我电脑登录git账号,所以在windows凭据中保存了2个git账号,而默认使用的第一个账号的远程库中不存在我想要的目标仓库数据,就出现了“remote:Theprojectyouw......
  • 报错:TypeError: Found non-callable @@iterator
    代码://自动导入插件constautpImport=require('unplugin-auto-import/webpack')(...autoImportConfig)报错 TypeError:Foundnon-callable@@iterator原因:使用...扩展符的时候该对象是不可迭代对象。这里  autoImportConfig是一个对象,该函数参数需要传入......
  • centos 6上 yum检查epel源是否添加成功报错 Cannot retrieve metalink for repository
    在我们使用yum安装时,经常发现没有第三方源,此时需要安装epel(ExtraPackagesforEnterpriseLinux,企业版Linux的额外软件包)Epel是什么?它是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和ScientificLinux这样的衍生版本......
  • Kettle发送邮件以及 Could not connect to SMTP host: smtp.qq.com, port: 465,535 Log
    1、新建一个job(作业)2、发送邮件设置2.1邮件服务器设置2.2发件内容设置3、发送执行作业转换4、465端口登录失败问题5、535LoginFail.Pleaseenter问题处理最近开始研究开源的ETL工具Kettle。记录一下发送邮件的功能。1、新建一个job(作业)然后从通用中拖拽START以及发送......