Following needs to be done to setup Spring boot web app with JSP pages
Create a Spring Starter Project
Create a Spring Starter Project by selecting “Web” as one of the dependencies. This will create a Springboot project.
POM.xml Entries
Place following entries in pom.xml for processing JSP pages
<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>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.6.1</version>
<scope>provided</scope>
</dependency>
Configuration in application.properties
Place following configuration in application.properties
# JSP related configuration spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix= .jsp
Create Controller class
Create a sample controller class such as following:
package com.vflux.helloapp;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WelcomeController {
@RequestMapping(value="/")
public String home(Model map) {
return "index";
}
}
Create JSP pages
- Create a folder src/main/webapp/WEB-INF/views
- Create a file index.jsp. Place the content such as following:
<h1>Hello World</h1>
Run Project as Spring Boot App
- Access URL such as http://localhost:8080/ in browser. Following would be displayed.

Spring Boot JSP Page
Latest posts by Ajitesh Kumar (see all)
- Large Language Models (LLMs): Four Critical Modeling Stages - August 4, 2025
- Agentic Workflow Design Patterns Explained with Examples - August 3, 2025
- What is Data Strategy? - August 2, 2025
I found it very helpful. However the differences are not too understandable for me