SlideShare a Scribd company logo
copyright © I-Admin
Spring Framework 3.0 MVC
Prepared By:
Ravi Kant Soni
Sr. Software Engineer | ADS-Bangalore
session - 1
copyright © I-Admin
Objectives
 Introduce Spring MVC Module
 Learn about Spring MVC Components
(Dispatcher, Handler mapping, Controller,
View Resolver, View)
copyright © I-Admin
What Is Spring?
copyright © I-Admin
What is Spring?
 Spring is light weight, open source framework begins
developed by Spring Source Company
 Spring 1.0 was released in 2004
 Spring is available on www.springframework.org
 It provides support for JPA, Hibernate, Web services,
Schedulers, Ajax, Struts, JSF and many other
frameworks
copyright © I-Admin
Why use Spring?
 Spring was created to reduce the complexity
observed in Java enterprise application development
 Spring is organised into many modules that offer
various types of assistance to the developer in a host
of application areas
• Spring enables developers to develop enterprise-
class applications using POJOs
• Testing an application written with Spring is simple
because environment-dependent code is moved into
this framework
copyright © I-Admin
By the way, just what is MVC?
 Model-View-Controller or MVC is an architectural
pattern used in development of applications.
– Model encapsulates the raw data
– Controller responds to events, and instruct the model and view to
perform actions based on events
– View render information supplied by model in a form suitable for
user interaction.
copyright © I-Admin
MVC Architecture
copyright © I-Admin
Spring MVC Architecture
 Based on existing Servlet/JSP technology
copyright © I-Admin
Spring MVC Components
 DispatcherServlet responsible for intercepting the
request and dispatching for specific urls.
 Controller responsible for processing user requests
and building appropriate model and passes it to the
view for rendering
 View interface represents presentation logic and is
responsible for rendering content
 ModelAndView class objects encapsulates view and
model linking
 Model encapsulates the application data, will consist
of POJO
copyright © I-Admin
DispatcherServlet
 Used to handle all incoming requests and route them
through Spring
 Also responsible to initialize the frameworks
components which are used to process the request
at various stages
 Uses customizable logic to determine which
controllers should handle which requests
 Forwards all responses to through view handlers to
determine the correct views to route responses to
 DispatcherServlet Architecture uses the Front
Controller Design Pattern
copyright © I-Admin
DispatcherServlet Architecture
copyright © I-Admin
DispatcherServlet Mapping
 Request that are to be handled by DispatcherServlet
are to be mapped using a URL mapping in web.xml
config file.
 Each DispatcherServlet has its own
WebApplicationContext
copyright © I-Admin
DispatcherServlet in web.xml
 Dispatcher Servlet named "spring" that will intercept all urls to this web
application
 <servlet-mapping> tag indicates what URLs will be handled by the which
DispatcherServlet
<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>
copyright © I-Admin
Spring Configuration
 By default Spring looks for a servletname -servlet.xml file in /WEB-INF
 For the previous example we would need to create a file in /WEB-INF named
spring-servlet.xml
<beans xmlns …….>
<mvc:annotation-driven/>
<context:component-scan base-package="com.iadmin.spring" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
copyright © I-Admin
Spring Configuration cont..
 <mvc:annotation-driven /> tells Spring to support
annotations like @Controller, @RequestMapping
and others that simplify the writing and configuration
of controllers
 InternalResourceViewResolver resolve the view
names, looks for JSPs that match a given view
name in the director /WEB-INF/jsp
 <context:component-scan...> tell Spring where to
automatically detect controllers
copyright © I-Admin
The ‘C’ in MVC
 DispatcherServlet delegates the request to the
controllers to execute the functionality specific to it
 The @Controller annotation indicates that a
particular class serves the role of a controller
 Controller interpret user input and transform this
input into specific model which will be represented to
the user by the view
copyright © I-Admin
The ‘M’ in MVC
 Model is generally defined as a MAP that can
contain objects that are to be displayed in view
 ModelAndView object encapsulates the relations
between view and model and is returned by
corresponding Controller methods
 ModelAndView class use ModelMap that is custom
MAP implementation where values are added in key-
value fashion
copyright © I-Admin
The ‘V’ in MVC
 View Page can be explicitly returned as part of
ModelAndView object by the controller
 In case of mapping logical name of view can be
resolved to particular view page in case
ModelAndView doesn’t contain the view reference
 The view name can be independent of view
technology (without using .jsp in controller) and
resolved to specific technology by using
ViewResolver and render by View
copyright © I-Admin
Defining a Controller
 @Controller annotation defines the class as a
Spring MVC controller
 @RequestMapping annotation is used to map a
URL to either an entire class or a particular handler
method
 DispatcherServlet delegates the request to the
controllers to execute the functionality specific to it
copyright © I-Admin
Defining a Controller cont…
@Controllerpublic
class HelloController{
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello Spring MVC !");
return "hello";
}
}
 The value attribute indicates the URL to which the handler
method is mapped
 The method attribute defines the service method to handle
HTTP GET request
copyright © I-Admin
Creating JSP Views
 Spring MVC supports many types of views for different presentation
technologies. These include - JSPs, HTML, PDF, Excel worksheets, XML,
Velocity templates, XSLT, JSON, Atom and RSS feeds, JasperReports etc
 /WEB-INF/hello/hello.jsp:
<html>
<head>
<title>Hello Spring MVC</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
 Here, ${message} is the attribute which we have setup inside the Controller
copyright © I-Admin
Spring vs. Struts
 Struts Framework
– Based on MVC architecture
– View – JSPs, ActionForms
– Controller – ActionServlet, Actions
 Spring Framework
– DispatcherServlet - Spring’s Front Controller implementation
– View- JSP’s
– ViewResolver - Maps logical View names to actual View
implementations
– HandlerMapping-Strategy interface used by DispatcherServlet for
mapping incoming requests to individual Controllers
copyright © I-Admin
DEMO
copyright © I-Admin
Questions
Thank You
ravikant.soni@i-admin.com
Ad

More Related Content

What's hot (20)

Spring boot
Spring bootSpring boot
Spring boot
Pradeep Shanmugam
 
Spring Framework - Spring Security
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
Dzmitry Naskou
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
Dzmitry Naskou
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Harshit Choudhary
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
Vinay Kumar
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
Ippon
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
Dzmitry Naskou
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Hùng Nguyễn Huy
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
Spring jdbc
Spring jdbcSpring jdbc
Spring jdbc
Harshit Choudhary
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
PradeepDyavannanavar
 
Lets make a better react form
Lets make a better react formLets make a better react form
Lets make a better react form
Yao Nien Chung
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
NexThoughts Technologies
 
Spring Boot Tutorial
Spring Boot TutorialSpring Boot Tutorial
Spring Boot Tutorial
Naphachara Rattanawilai
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaran Flaath
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jiayun Zhou
 
Spring boot
Spring bootSpring boot
Spring boot
sdeeg
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
Rasheed Waraich
 
Jsf presentation
Jsf presentationJsf presentation
Jsf presentation
Ashish Gupta
 

Viewers also liked (19)

Spring MVC Basics
Spring MVC BasicsSpring MVC Basics
Spring MVC Basics
Bozhidar Bozhanov
 
Spring MVC framework
Spring MVC frameworkSpring MVC framework
Spring MVC framework
Mohit Gupta
 
Introduction to Spring MVC
Introduction to Spring MVCIntroduction to Spring MVC
Introduction to Spring MVC
Richard Paul
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
Nathaniel Richand
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Serhat Can
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
ENSET, Université Hassan II Casablanca
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Dineesha Suraweera
 
Spring MVC Architecture Tutorial
Spring MVC Architecture TutorialSpring MVC Architecture Tutorial
Spring MVC Architecture Tutorial
Java Success Point
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
Spring 3.x - Spring MVC
Spring 3.x - Spring MVCSpring 3.x - Spring MVC
Spring 3.x - Spring MVC
Guy Nir
 
Spring MVC - The Basics
Spring MVC -  The BasicsSpring MVC -  The Basics
Spring MVC - The Basics
Ilio Catallo
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
Nathaniel Richand
 
Matilla Portfolio
Matilla PortfolioMatilla Portfolio
Matilla Portfolio
Matilla Yuen
 
Zed ria presentation
Zed ria presentationZed ria presentation
Zed ria presentation
sujiswetha65
 
Диплом Пакалина Ю.
Диплом Пакалина Ю.Диплом Пакалина Ю.
Диплом Пакалина Ю.
Socreklamanalytics
 
портфоліо на мк 2013 [автосохраненный] готовий
портфоліо  на мк 2013 [автосохраненный] готовийпортфоліо  на мк 2013 [автосохраненный] готовий
портфоліо на мк 2013 [автосохраненный] готовий
les1812
 
Pragati a4 brouchre - wide
Pragati   a4 brouchre - widePragati   a4 brouchre - wide
Pragati a4 brouchre - wide
sujiswetha65
 
Spring MVC framework
Spring MVC frameworkSpring MVC framework
Spring MVC framework
Mohit Gupta
 
Introduction to Spring MVC
Introduction to Spring MVCIntroduction to Spring MVC
Introduction to Spring MVC
Richard Paul
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
Nathaniel Richand
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Serhat Can
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Dineesha Suraweera
 
Spring MVC Architecture Tutorial
Spring MVC Architecture TutorialSpring MVC Architecture Tutorial
Spring MVC Architecture Tutorial
Java Success Point
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
Anton Krasnoshchok
 
Spring 3.x - Spring MVC
Spring 3.x - Spring MVCSpring 3.x - Spring MVC
Spring 3.x - Spring MVC
Guy Nir
 
Spring MVC - The Basics
Spring MVC -  The BasicsSpring MVC -  The Basics
Spring MVC - The Basics
Ilio Catallo
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Zed ria presentation
Zed ria presentationZed ria presentation
Zed ria presentation
sujiswetha65
 
Диплом Пакалина Ю.
Диплом Пакалина Ю.Диплом Пакалина Ю.
Диплом Пакалина Ю.
Socreklamanalytics
 
портфоліо на мк 2013 [автосохраненный] готовий
портфоліо  на мк 2013 [автосохраненный] готовийпортфоліо  на мк 2013 [автосохраненный] готовий
портфоліо на мк 2013 [автосохраненный] готовий
les1812
 
Pragati a4 brouchre - wide
Pragati   a4 brouchre - widePragati   a4 brouchre - wide
Pragati a4 brouchre - wide
sujiswetha65
 
Ad

Similar to Spring MVC 3.0 Framework (20)

quickguide-einnovator-7-spring-mvc
quickguide-einnovator-7-spring-mvcquickguide-einnovator-7-spring-mvc
quickguide-einnovator-7-spring-mvc
jorgesimao71
 
Spring MVC framework features and concepts
Spring MVC framework features and conceptsSpring MVC framework features and concepts
Spring MVC framework features and concepts
AsmaShaikh478737
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
Tuna Tore
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
nagarajupatangay
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Pravin Pundge
 
Jinal desai .net
Jinal desai .netJinal desai .net
Jinal desai .net
rohitkumar1987in
 
Dispatcher
DispatcherDispatcher
Dispatcher
RAHUL VUTUKURI
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
erdemergin
 
Spring MVC introduction HVA
Spring MVC introduction HVASpring MVC introduction HVA
Spring MVC introduction HVA
Peter Maas
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
John Lewis
 
Spring mvc 2.0
Spring mvc 2.0Spring mvc 2.0
Spring mvc 2.0
Rudra Garnaik, PMI-ACP®
 
MVC
MVCMVC
MVC
akshin
 
Spring Framework-II
Spring Framework-IISpring Framework-II
Spring Framework-II
People Strategists
 
MVC 4
MVC 4MVC 4
MVC 4
Vasilios Kuznos
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
mrsurwar
 
AngularJS = Browser applications on steroids
AngularJS = Browser applications on steroidsAngularJS = Browser applications on steroids
AngularJS = Browser applications on steroids
Maurice De Beijer [MVP]
 
Month 2 report
Month 2 reportMonth 2 report
Month 2 report
PRIYANKA FNU
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Hamid Ghorbani
 
Simple mvc4 prepared by gigin krishnan
Simple mvc4 prepared by gigin krishnanSimple mvc4 prepared by gigin krishnan
Simple mvc4 prepared by gigin krishnan
Gigin Krishnan
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Phuc Le Cong
 
Ad

Recently uploaded (20)

Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from AnywhereAutomation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Lynda Kane
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Image processinglab image processing image processing
Image processinglab image processing  image processingImage processinglab image processing  image processing
Image processinglab image processing image processing
RaghadHany
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from AnywhereAutomation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Lynda Kane
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Image processinglab image processing image processing
Image processinglab image processing  image processingImage processinglab image processing  image processing
Image processinglab image processing image processing
RaghadHany
 

Spring MVC 3.0 Framework

  • 1. copyright © I-Admin Spring Framework 3.0 MVC Prepared By: Ravi Kant Soni Sr. Software Engineer | ADS-Bangalore session - 1
  • 2. copyright © I-Admin Objectives  Introduce Spring MVC Module  Learn about Spring MVC Components (Dispatcher, Handler mapping, Controller, View Resolver, View)
  • 4. copyright © I-Admin What is Spring?  Spring is light weight, open source framework begins developed by Spring Source Company  Spring 1.0 was released in 2004  Spring is available on www.springframework.org  It provides support for JPA, Hibernate, Web services, Schedulers, Ajax, Struts, JSF and many other frameworks
  • 5. copyright © I-Admin Why use Spring?  Spring was created to reduce the complexity observed in Java enterprise application development  Spring is organised into many modules that offer various types of assistance to the developer in a host of application areas • Spring enables developers to develop enterprise- class applications using POJOs • Testing an application written with Spring is simple because environment-dependent code is moved into this framework
  • 6. copyright © I-Admin By the way, just what is MVC?  Model-View-Controller or MVC is an architectural pattern used in development of applications. – Model encapsulates the raw data – Controller responds to events, and instruct the model and view to perform actions based on events – View render information supplied by model in a form suitable for user interaction.
  • 8. copyright © I-Admin Spring MVC Architecture  Based on existing Servlet/JSP technology
  • 9. copyright © I-Admin Spring MVC Components  DispatcherServlet responsible for intercepting the request and dispatching for specific urls.  Controller responsible for processing user requests and building appropriate model and passes it to the view for rendering  View interface represents presentation logic and is responsible for rendering content  ModelAndView class objects encapsulates view and model linking  Model encapsulates the application data, will consist of POJO
  • 10. copyright © I-Admin DispatcherServlet  Used to handle all incoming requests and route them through Spring  Also responsible to initialize the frameworks components which are used to process the request at various stages  Uses customizable logic to determine which controllers should handle which requests  Forwards all responses to through view handlers to determine the correct views to route responses to  DispatcherServlet Architecture uses the Front Controller Design Pattern
  • 12. copyright © I-Admin DispatcherServlet Mapping  Request that are to be handled by DispatcherServlet are to be mapped using a URL mapping in web.xml config file.  Each DispatcherServlet has its own WebApplicationContext
  • 13. copyright © I-Admin DispatcherServlet in web.xml  Dispatcher Servlet named "spring" that will intercept all urls to this web application  <servlet-mapping> tag indicates what URLs will be handled by the which DispatcherServlet <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>
  • 14. copyright © I-Admin Spring Configuration  By default Spring looks for a servletname -servlet.xml file in /WEB-INF  For the previous example we would need to create a file in /WEB-INF named spring-servlet.xml <beans xmlns …….> <mvc:annotation-driven/> <context:component-scan base-package="com.iadmin.spring" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
  • 15. copyright © I-Admin Spring Configuration cont..  <mvc:annotation-driven /> tells Spring to support annotations like @Controller, @RequestMapping and others that simplify the writing and configuration of controllers  InternalResourceViewResolver resolve the view names, looks for JSPs that match a given view name in the director /WEB-INF/jsp  <context:component-scan...> tell Spring where to automatically detect controllers
  • 16. copyright © I-Admin The ‘C’ in MVC  DispatcherServlet delegates the request to the controllers to execute the functionality specific to it  The @Controller annotation indicates that a particular class serves the role of a controller  Controller interpret user input and transform this input into specific model which will be represented to the user by the view
  • 17. copyright © I-Admin The ‘M’ in MVC  Model is generally defined as a MAP that can contain objects that are to be displayed in view  ModelAndView object encapsulates the relations between view and model and is returned by corresponding Controller methods  ModelAndView class use ModelMap that is custom MAP implementation where values are added in key- value fashion
  • 18. copyright © I-Admin The ‘V’ in MVC  View Page can be explicitly returned as part of ModelAndView object by the controller  In case of mapping logical name of view can be resolved to particular view page in case ModelAndView doesn’t contain the view reference  The view name can be independent of view technology (without using .jsp in controller) and resolved to specific technology by using ViewResolver and render by View
  • 19. copyright © I-Admin Defining a Controller  @Controller annotation defines the class as a Spring MVC controller  @RequestMapping annotation is used to map a URL to either an entire class or a particular handler method  DispatcherServlet delegates the request to the controllers to execute the functionality specific to it
  • 20. copyright © I-Admin Defining a Controller cont… @Controllerpublic class HelloController{ @RequestMapping(value = "/hello", method = RequestMethod.GET) public String printHello(ModelMap model) { model.addAttribute("message", "Hello Spring MVC !"); return "hello"; } }  The value attribute indicates the URL to which the handler method is mapped  The method attribute defines the service method to handle HTTP GET request
  • 21. copyright © I-Admin Creating JSP Views  Spring MVC supports many types of views for different presentation technologies. These include - JSPs, HTML, PDF, Excel worksheets, XML, Velocity templates, XSLT, JSON, Atom and RSS feeds, JasperReports etc  /WEB-INF/hello/hello.jsp: <html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body> </html>  Here, ${message} is the attribute which we have setup inside the Controller
  • 22. copyright © I-Admin Spring vs. Struts  Struts Framework – Based on MVC architecture – View – JSPs, ActionForms – Controller – ActionServlet, Actions  Spring Framework – DispatcherServlet - Spring’s Front Controller implementation – View- JSP’s – ViewResolver - Maps logical View names to actual View implementations – HandlerMapping-Strategy interface used by DispatcherServlet for mapping incoming requests to individual Controllers