Whitelabel 错误页面 - 应用程序没有 /error 的显式映射
Whitelabel Error Page - application has no explicit mapping for /error
我已经配置了一个 spring 启动应用程序,但是在启动该应用程序时,我收到如下映射错误
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Dec 24 12:46:27 IST 2018
There was an unexpected error (type=Not Found, status=404).
No message available
。我已完成以下 link 并将我的控制器更新为包含主要 class 的根包的一部分。
This application has no explicit mapping for /error
我在申请中使用了下面提到的 configuration/code:
build.gradle
buildscript {
ext {
springBootVersion = '2.1.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.ticket'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
implementation('javax.servlet:jstl')
implementation('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
TicketController.java
package com.ticket.controller;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
@RestController
public class TicketController {
static Logger log = LogManager.getLogger();
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView homeScreen(ModelMap model) {
return new ModelAndView("view");
}
}
application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
Jsp path
src/main/webapp/WEB-INF/jsp/view.jsp
默认情况下Spring 引导不提供解析Jsp 视图层的能力。
在下面添加 属性 到
build.gradle
解决了问题
implementation('org.apache.tomcat.embed:tomcat-embed-jasper')
答案很简单,如果您使用的是 thymeleaf,请将以下行添加到您的 pom.xml:
<dependency>
<groupId> org.springframework.boot </groupId>
<artifactId> spring-boot-starter-thymeleaf </artifactId>
</dependency>
仅此而已,您必须将视图放入 src / main / resources/templates
的模板包中
如果您使用 jsp 文件作为视图,上述方法不起作用,您必须将以下行添加到您的 application.properties 文件中:
spring.mvc.view.prefix = / WEB-INF / views /
spring.mvc.view.suffix = .jsp
前几行指示驱动程序将在其中查找视图的文件夹,它们也必须存在于该文件夹结构中。
以及您的 pom.xml 这些行:
**
<dependency>
<groupId> org.apache.tomcat.embed </groupId>
<artifactId> tomcat-embed-jasper </artifactId>
<scope> provided </scope>
</dependency>
**
就是这样,spring boot提示找不到请求的资源,但是上面已经说明了,必须解决
我已经配置了一个 spring 启动应用程序,但是在启动该应用程序时,我收到如下映射错误
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Dec 24 12:46:27 IST 2018
There was an unexpected error (type=Not Found, status=404).
No message available
。我已完成以下 link 并将我的控制器更新为包含主要 class 的根包的一部分。 This application has no explicit mapping for /error
我在申请中使用了下面提到的 configuration/code:
build.gradle
buildscript {
ext {
springBootVersion = '2.1.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.ticket'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
implementation('javax.servlet:jstl')
implementation('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
TicketController.java
package com.ticket.controller;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
@RestController
public class TicketController {
static Logger log = LogManager.getLogger();
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView homeScreen(ModelMap model) {
return new ModelAndView("view");
}
}
application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
Jsp path
src/main/webapp/WEB-INF/jsp/view.jsp
默认情况下Spring 引导不提供解析Jsp 视图层的能力。 在下面添加 属性 到
build.gradle
解决了问题
implementation('org.apache.tomcat.embed:tomcat-embed-jasper')
答案很简单,如果您使用的是 thymeleaf,请将以下行添加到您的 pom.xml:
<dependency>
<groupId> org.springframework.boot </groupId>
<artifactId> spring-boot-starter-thymeleaf </artifactId>
</dependency>
仅此而已,您必须将视图放入 src / main / resources/templates
如果您使用 jsp 文件作为视图,上述方法不起作用,您必须将以下行添加到您的 application.properties 文件中:
spring.mvc.view.prefix = / WEB-INF / views /
spring.mvc.view.suffix = .jsp
前几行指示驱动程序将在其中查找视图的文件夹,它们也必须存在于该文件夹结构中。
以及您的 pom.xml 这些行:
**
<dependency>
<groupId> org.apache.tomcat.embed </groupId>
<artifactId> tomcat-embed-jasper </artifactId>
<scope> provided </scope>
</dependency>
**
就是这样,spring boot提示找不到请求的资源,但是上面已经说明了,必须解决