Spring Boot JSP 404
Ensure that you have jasper and jstl in the list of dependencies:
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
Here is a working starter project - https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-web-jsp
In newer versions of Spring, following needs to be put in application.properties file:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
Also, JSP files need to be put under src/main/resources/META-INF/resources/WEB-INF/jsp
This is working solution for me about White label error page : Cannot find view page(jsp)
At POM.xml, Make sure packaging is "war" and add tomcat/jasper dependencies
<packaging>war</packaging><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>
Add prefix/suffix at application.properties
spring.mvc.view.prefix=/WEB-INF/views/spring.mvc.view.suffix=.jsp
** If you use Intellij, you must set Web Resource directories.At Project Structure (ctrl+alt+shift+ S) > Facets > Select Web(your application) > Add(+) Web Resource Directories ( mine is ......\src\main\webapp)
** If you have multiple modules(At intellij), Run> Edit configuration> Select springboot your application > Configuration tab> Working directory as $MODULE_WORKING_DIR$