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:
- In the case of Maven, load the spring jar files or add dependencies.
- Make your controller class.
- Provide a controller entry in the web.xml file.
- In a separate XML file, define the bean.
- Make the rest of the view components.
- Start the server and make the project available.
Example Project
Project Structure:
Step 1. Add dependencies to pom.xml
XML
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 <modelVersion>4.0.0</modelVersion> <groupId>com.zambiatek</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.zambiatek;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping; @Controllerpublic class GfgController1 { @RequestMapping("/hello1") public String display() { return "gfgpage1"; } } |
GfgController2.java
Java
package com.zambiatek;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping; @Controllerpublic 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.zambiatek" /> <!--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:




