A view page is redirected to another view page in this example. Let’s look at a simple Spring Web MVC framework sample. 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
You can download the required dependencies from URLs given in the comments of the program.
XML
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 < modelVersion >4.0.0</ modelVersion > < groupId >com.neveropen</ groupId > < artifactId >SpringMVCMultipleViewPage</ artifactId > < packaging >war</ packaging > < version >0.0.1-SNAPSHOT</ version > < name >SpringMVCMultipleViewPage 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 >SpringMVCMultipleViewPage</ finalName > </ build > </ project > |
Step 2. Make your request page
Let’s start by making a simple jsp page with a link.
index.jsp
HTML
< html > < body > < a href = "hello" >Click here to go next...</ a > </ body > </ html > |
Step 3. Develop a controller class
Let’s start by developing a controller class that returns JSP pages. To map the class, we supply the exact name using a @Requestmapping annotation.
GfgController.java
Java
package com.neveropen; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class GfgController { @RequestMapping ( "/hello" ) public String redirect() { return "viewpage" ; } @RequestMapping ( "/helloagain" ) public String display() { return "final" ; } } |
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. In the XML file, define the bean
- We now provide a view resolver with the view component.
- For the ViewResolver, the InternalResourceViewResolver class is utilized.
- For the view component, the prefix+string returned by the controller+suffix page will be used.
- This XML file should be placed in the WEB-INF folder.
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
viewpage.jsp
HTML
< html > < body > < a href = "helloagain" >We are going to visit GeeksForGeeks</ a > </ body > </ html > |
final.jsp
HTML
< html > < body > < p >Welcome to GeeksForGeeks</ p > </ body > </ html > |
Output:
After clicking the “Click here to go next…” link following page will be shown
And after clicking on the above link this page will be shown