Sunday, February 8, 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

Most Popular

Dominic
32493 POSTS0 COMMENTS
Milvus
126 POSTS0 COMMENTS
Nango Kala
6864 POSTS0 COMMENTS
Nicole Veronica
11990 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12084 POSTS0 COMMENTS
Shaida Kate Naidoo
7000 POSTS0 COMMENTS
Ted Musemwa
7241 POSTS0 COMMENTS
Thapelo Manthata
6951 POSTS0 COMMENTS
Umr Jansen
6936 POSTS0 COMMENTS