Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Jul 27 14:03:38 CST 2018
There was an unexpected error (type=Not Found, status=404).
No message available
导致这个报错的原因有好几个,刚才有不少朋友也分享了他们遇到的情况及处理方法。我遇到这种情况的时候,也参考了其他人的处理方法,但是并没解决问题,后来再仔细对比,发现是POM里面少了一些dependency导致的。
首先看JSP,这里面会用到jstl
-
<!DOCTYPE html> -
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -
。。。
这样就需要在POM中定义以下dependency
-
<dependency> -
<groupId>javax.servlet</groupId> -
<artifactId>jstl</artifactId> -
</dependency> -
<dependency> -
<groupId>org.apache.tomcat.embed</groupId> -
<artifactId>tomcat-embed-jasper</artifactId> -
<scope>provided</scope> -
</dependency>
如果把这两个dependency给注释了,或是没有在POM里面定义,就会碰到上面提到的那个报错。除了页面的这种报错,再也没有其它提示信息了,所以一开始接触的时候,可能会花些时间来查找问题。
如果只是没有加入第一个dependency,则会在控制台提示再清晰的报错信息,这样就会很容易知道问题在那里。
-
2018-07-27 14:28:52.364 ERROR 9456 --- [nio-8006-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application] with root cause -
org.apache.jasper.JasperException: The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application -
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55) ~[tomcat-embed-jasper-8.5.31.jar:8.5.31] -
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:293) ~[tomcat-embed-jasper-8.5.31.jar:8.5.31] -
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:80) ~[tomcat-embed-jasper-8.5.31.jar:8.5.31] -
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251) ~[tomcat-embed-jasper-8.5.31.jar:8.5.31] -
...
但是如果是只加了第一个,而没加第二个,情况就跟两个都不加一样,在控制台是没有额外报错信息的。感觉这里有点意思啊。
本文详细介绍了在Spring Boot应用中遇到WhitelabelErrorPage 404错误的原因及解决方案。当项目中缺少必要的依赖,如jstl和tomcat-embed-jasper时,会导致此错误。文章提供了正确的POM配置示例,帮助开发者快速定位并解决问题。
5465

被折叠的 条评论
为什么被折叠?



