Spring Boot with JSP Pages – Code Example

0

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=&quot;/&quot;)
    public String home(Model map) {
        return &quot;index&quot;;
    }
}

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

Ajitesh Kumar

Ajitesh Kumar

Ajitesh is passionate about various different technologies including programming languages such as Java/JEE, Javascript, PHP, C/C++, mobile programming languages etc, and, computing fundamentals related with cloud-native technologies, application security, cloud computing platforms, mobile apps, big data etc.

He has also authored the book, Building Web Apps with Spring 5 and Angular.
Ajitesh Kumar

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.