Friday, May 15, 2026
HomeLanguagesJavaSpring MVC – Multiple Controller

Spring MVC – Multiple Controller

We may construct numerous controllers at once in Spring MVC. Each controller class must be annotated with the @Controller annotation. A Spring MVC example with numerous controllers can be found here. The procedure is as follows:

  1. In the case of Maven, load the spring jar files or add dependencies.
  2. Make your controller class.
  3. Provide a controller entry in the web.xml file.
  4. In a separate XML file, define the bean.
  5. Make the rest of the view components.
  6. Start the server and make the project available.

Example Project

Project Structure:

Project Structure

Step 1. Add dependencies to pom.xml

XML




         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                             http://maven.apache.org/maven-v4_0_0.xsd">
    
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.neveropen</groupId>
  <artifactId>SpringMVCMultipleController</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>SpringMVCMultipleController Maven Webapp</name>
  <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
      
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.1.1.RELEASE</version>
    </dependency>
  
    <dependency>  
        <groupId>javax.servlet</groupId>  
        <artifactId>servlet-api</artifactId>  
        <version>3.0-alpha-1</version>  
      </dependency
      
  </dependencies>
  <build>
    <finalName>SpringMVCMultipleController</finalName>
  </build>
</project>


Step 2. Create the request page

Let’s create a simple JSP page containing two links

index.jsp

HTML




<html>
<body>
  <a href="hello1">Geeksforgeeks Spring MVC Tutorials</a>  || 
  <a href="hello2">Geeksforgeeks Spring Boot Tutorials</a>
</body>
</html>


Step 3. Develop a controller class

Let’s make two controller classes, each of which returns a different view page.

GfgController1.java

Java




package com.neveropen;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
  
@Controller
public class GfgController1 {
    
    @RequestMapping("/hello1")
    public String display()
    {
        return "gfgpage1";
    }    
}


GfgController2.java

Java




package com.neveropen;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
  
@Controller
public class GfgController2 {
    
    @RequestMapping("/hello2")
    public String display()
    {
        return "gfgpage2";
    }    
}


Step 4. Provide the entry of controller in the web.xml file

web.xml

XML




<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <display-name>SpringMVC</display-name>
<servlet>  
    <servlet-name>spring</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>    
</servlet>  
<servlet-mapping>  
    <servlet-name>spring</servlet-name>  
    <url-pattern>/</url-pattern>  
</servlet-mapping>  
</web-app>


Step 5. Define the bean in the XML file

spring-servlet.xml

XML




<?xml version="1.0" encoding="UTF-8"?>
    xsi:schemaLocation="
  
    <!-- Add support for component scanning -->
    <context:component-scan base-package="com.neveropen" />
  
    <!--Add support for conversion, formatting and validation -->
    <mvc:annotation-driven/>
    
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>        
     </bean>
    
</beans>


Step 6. Create the other view components

gfgpage1.jsp

HTML




<html>
<body>
      
<p>Welcome to Geeksforgeeks Spring MVC Tutorial</p>
  
</body>
</html>


gfgpage2.jsp

XML




<html>
<body>
      
<p>Welcome to Geeksforgeeks Spring Boot Tutorial</p>
  
</body>
</html>


Output:

Output

Output

Output

RELATED ARTICLES

1 COMMENT

Most Popular

Dominic
32514 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6892 POSTS0 COMMENTS
Nicole Veronica
12012 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12107 POSTS0 COMMENTS
Shaida Kate Naidoo
7016 POSTS0 COMMENTS
Ted Musemwa
7262 POSTS0 COMMENTS
Thapelo Manthata
6975 POSTS0 COMMENTS
Umr Jansen
6963 POSTS0 COMMENTS