13.2 Spring Boot启动报错:Whitelabel Error Page

    <!-- 文章内容 -->
<div data-note-content="" class="show-content">
<h1>13.2 Spring Boot启动报错:Whitelabel Error Page</h1>

问题描述

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Mar 28 22:25:43 CST 2017
There was an unexpected error (type=Internal Server Error, status=500).
Circular view path [login]: would dispatch back to the current handler URL [/login] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)

原因分析

首先,这个出错页面是SpringBoot的一个默认出错页面。源码在:org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration 第151行。

这种错误一般是配置错误,或者MVC报错引起的错误。

解决方案

在application.properties 文件中正确配置模板文件的命名前后缀:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

另外,在早期版本的springboot中,这个key中是不带mvc的。

spring.view.prefix: /WEB-INF/jsp/
spring.view.suffix: .jsp

这个配置类是1.1版本之后的,在org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties类中。上面的注解@ConfigurationProperties(prefix = "spring.mvc")指明了这个key。

相应的,模板文件要放在正确的目录下。上面的配置,对应的目录可以是:

/src/main/webapp/WEB-INF/jsp/
/src/main/resources/META-INF/resources/WEB-INF/jsp

SpringBoot常见的模板文件默认目录,举例如下:

# THYMELEAF (ThymeleafAutoConfiguration)

spring.thymeleaf.cache=true # Enable template caching.

spring.thymeleaf.check-template=true # Check that the template exists before rendering it.

spring.thymeleaf.check-template-location=true # Check that the templates location exists.

spring.thymeleaf.enabled=true # Enable Thymeleaf view resolution for Web frameworks.

spring.thymeleaf.encoding=UTF-8 # Template files encoding.

spring.thymeleaf.excluded-view-names= # Comma-separated list of view names that should be excluded from resolution.

spring.thymeleaf.mode=HTML5 # Template mode to be applied to templates. See also StandardTemplateModeHandlers.

spring.thymeleaf.prefix=classpath:/templates/ # Prefix that gets prepended to view names when building a URL.

spring.thymeleaf.reactive.max-chunk-size= # Maximum size of data buffers used for writing to the response, in bytes.

spring.thymeleaf.reactive.media-types=text/html # Media types supported by the view technology.

spring.thymeleaf.servlet.content-type=text/html # Content-Type value written to HTTP responses.

spring.thymeleaf.suffix=.html # Suffix that gets appended to view names when building a URL.

spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain.

spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved.


# FREEMARKER (FreeMarkerAutoConfiguration)


spring.freemarker.allow-request-override=false # Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.


spring.freemarker.allow-session-override=false # Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.


spring.freemarker.cache=false # Enable template caching.


spring.freemarker.charset=UTF-8 # Template encoding.


spring.freemarker.check-template-location=true # Check that the templates location exists.


spring.freemarker.content-type=text/html # Content-Type value.


spring.freemarker.enabled=true # Enable MVC view resolution for this technology.


spring.freemarker.expose-request-attributes=false # Set whether all request attributes should be added to the model prior to merging with the template.


spring.freemarker.expose-session-attributes=false # Set whether all HttpSession attributes should be added to the model prior to merging with the template.


spring.freemarker.expose-spring-macro-helpers=true # Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".


spring.freemarker.prefer-file-system-access=true # Prefer file system access for template loading. File system access enables hot detection of template changes.


spring.freemarker.prefix= # Prefix that gets prepended to view names when building a URL.


spring.freemarker.request-context-attribute= # Name of the RequestContext attribute for all views.


spring.freemarker.settings.*= # Well-known FreeMarker keys which will be passed to FreeMarker's Configuration.


spring.freemarker.suffix= # Suffix that gets appended to view names when building a URL.


spring.freemarker.template-loader-path=classpath:/templates/ # Comma-separated list of template paths.


spring.freemarker.view-names= # White list of view names that can be resolved.

# GROOVY TEMPLATES (GroovyTemplateAutoConfiguration)


spring.groovy.template.allow-request-override=false # Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.


spring.groovy.template.allow-session-override=false # Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.


spring.groovy.template.cache= # Enable template caching.


spring.groovy.template.charset=UTF-8 # Template encoding.


spring.groovy.template.check-template-location=true # Check that the templates location exists.


spring.groovy.template.configuration.*= # See GroovyMarkupConfigurer


spring.groovy.template.content-type=test/html # Content-Type value.


spring.groovy.template.enabled=true # Enable MVC view resolution for this technology.


spring.groovy.template.expose-request-attributes=false # Set whether all request attributes should be added to the model prior to merging with the template.


spring.groovy.template.expose-session-attributes=false # Set whether all HttpSession attributes should be added to the model prior to merging with the template.


spring.groovy.template.expose-spring-macro-helpers=true # Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".


spring.groovy.template.prefix= # Prefix that gets prepended to view names when building a URL.


spring.groovy.template.request-context-attribute= # Name of the RequestContext attribute for all views.


spring.groovy.template.resource-loader-path=classpath:/templates/ # Template path.


spring.groovy.template.suffix=.tpl # Suffix that gets appended to view names when building a URL.


spring.groovy.template.view-names= # White list of view names that can be resolved.

    </div>
</div>

《Springboot极简教程》问题解决:Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping for(转)的更多相关文章

  1. 新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo

    新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo ...

  2. 启动Springboot 报错 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sat Jan 12 15:50:25 CST 2019 There was an unexpected error (type=Not

    解决方案:http://www.cnblogs.com/michaelShao/p/6675186.html

  3. 关于Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping

    Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as ...

  4. SpringBoot Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.

    使用SpringBoot写HelloWorld,当配置好启动类后,再创建新的controller或其它类,启动项目后访问对应的映射名,页面显示: Whitelabel Error Page This ...

  5. springboot报错Whitelabel Error Page

    第一次使用springboot没有问题.隔了两天继续看.一直报错Whitelabel Error Page. 重新搭建试了任何方法都错了. 报的就是一个404错误,犯了一个习惯性错误,一般都是loca ...

  6. 初学 Spring boot 报错 Whitelabel Error Page 404

    按照教程,写了个最简单的 HelloWorld,尼玛报错 -->Whitelabel Error Page 404. 网上99%都是项目结构不对,说什么 Application放在父级 pack ...

  7. SpringBoot入门报错 Whitelabel Error Page的总结

    刚入门SpringBoot,编写helloControl类,去访问本地端口,无缘无故报了这个错误 Whitelabel Error Page 总结了下,目前我碰到的有三种会导致这种情况 1.当你的 S ...

  8. SpringBoot报错 : Whitelabel Error Page

    添加了一个Controller类,本来想试下Spring MVC是否可以正常运行,结果报错,Controller类的内容: @RestController public class Test1Cont ...

  9. centos6的kibana7.1无法启动报错 FATAL Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理

    centos6的kibana7.1无法启动报错 FATAL  Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理 ...

随机推荐

  1. .Net强类型视图

    1.控制器 Controllers/StoreController.cs using System; using System.Collections.Generic; using System.Li ...

  2. POJ 3042 区间DP(费用提前计算相关的DP)

    题意: 思路: f[i][j][1]表示从i到j的区间全都吃完了 现在在j点 变质期最小是多少 f[i][j][0]表示从i到j的区间全都吃完了 现在在i点 变质期最小是多少 f[i][j][0]=m ...

  3. HDU——T 2594 Simpsons’ Hidden Talents

    http://acm.hdu.edu.cn/showproblem.php?pid=2594 Time Limit: 2000/1000 MS (Java/Others)    Memory Limi ...

  4. [AngularFire2 & Firestore] Example for collection and doc

    import {Injectable} from '@angular/core'; import {Skill} from '../models/skills'; import {AuthServic ...

  5. 存储控制器和SDRAM 实验

    S3C2440 存储控制器(memory controller)提供了訪问外部设备所需的信号,这是一种通过总线形式来訪问扩展的外设. S3C2440  的存储器控制器有下面的特性: 支持小字节序.大字 ...

  6. apache activemq Failed to bind to server socket 61616

    windows环境上: 首先 nestat -ano | findstr "61616" 查看是否有进程,有的话kill掉, 若没有发现,查看windows Internet Co ...

  7. 安装 VNC 和 XRDP

    安装 VNC 和 XRDPapt-get install vnc4server tightvncserver xrdp fluxbox xtermcat >vncstop.sh << ...

  8. js33--责任链模式

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  9. .Net Standard和各平台关系

    .NET Standard      1.0      1.1      1.2      1.3      1.4 1.5 1.6 2.0 .NET 核心 1.0 1.0 1.0 1.0 1.0 1 ...

  10. (转)Linux下使用rsync最快速删除海量文件的方法

    转自 : http://www.ha97.com/4107.html 昨天遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用.这个时候,我 ...