通過maven建立springboot專案啟動出現404
application.properties
配置
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
複製程式碼
- 專案結構
- 控制器方法
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping("/")
public String index() {
return "index";
}
}
複製程式碼
- 啟動專案訪問
localhost:8080
,出現404
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Feb 28 22:59:29 CST 2019
There was an unexpected error (type=Not Found, status=404).
No message available
複製程式碼
解決方法
pom.xml
新增依賴
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
複製程式碼
clean
並重新整理maven
- 重啟並訪問
localhost:8080
打包為jar
執行仍然出現404
- 打包外掛版本設定為
1.4.2.RELEASE
,並且配置好資源目錄
<build>
<resources>
<resource>
<directory>src/main/webapp</directory>
<!--這裡必須是META-INF/resources-->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
</plugin>
</plugins>
</build>
複製程式碼