SlideShare a Scribd company logo
-Weapons for the War on Java Complexity -

    

    id:c9katayama

    
Agenda

SpringMVC






SpringMVC

Spring   Web




SpringMVC

Spring1.0,JDK1.4
  

Apache License2.0
SpringSource
SpringMVC
SpringMVC



Dispatcher
                Handler
Servlet




                 view
SpringMVC


              DispatcherServlet
               
Dispatcher
                         Spring        Handler
Servlet
                      WebApplicationContext



                                         view
SpringMVC



     HandlerMapping
Dispatche
                                   Handler
Servlet                 Handler
      URL         URL



                                    view
SpringMVC



Dispatche
                         Handler
Servlet


    HandlerAdapter
       Handler
                          view
       Handler
SpringMVC



Dispatcher
                             Handler
Servlet



       Handler
                 Struts Action
                              view
         
SpringMVC


  ModelAndView
Dispatche
                 Model         View
                             Handler
Servlet




                              view
SpringMVC



Dispatche    view       Handler
Servlet
               JSP   HTML
              


                             view
SpringMVC


    
    
    
SpringMVC
SpringMVC
SpringMVC
Handler
SpringMVC


    
    
SpringMVC


    
    



Spring2.5
SpringMVC
SpringMVC


         DefaultAnnotationHandlerMapping

Spring   Handler      RequestMapping
             URL       Handler
SpringMVC


                 AnnotationMethodHandlerAdapter

HandlerMapping           Handler    RequestMapping
                                   HTTP
SpringMVC

DefaultAnnotationHandlerMapping
AnnotationMethodHandlerAdapter
               DispatcherServlet
SpringMVC


AnnotationMethodHandlerAdapter   Handler



Handler



POJO
                   MVC
SpringMVC




Handler
SpringMVC
@Controller
@RequestMapping("/login.do")
public class LoginController {

    @RequestMapping(method = RequestMethod.GET)
    public String setup(Model model) {
        model.addAttribute(new LoginForm());
        return "login.jsp";
    }

    @RequestMapping(method = RequestMethod.POST)
    public String doLogin(LoginForm loginForm, Errors errors) {
      if (errors.hasErrors()) {
          return "login.jsp";
      }else{
          return “redirect:menu.do”;
      }
    }
}
SpringMVC


@Controller
  

  
SpringMVC

package sample.springmvc.controller

@Controller
public class LoginController {
SpringMVC

@RequestMapping
 

 

 
SpringMVC
@Controller
@RequestMapping("/login.do")
public class LoginController {

  @RequestMapping(method = RequestMethod.GET)
  public String setup(Model model) {
    model.addAttribute(new LoginForm());
    return "login.jsp";
  }
  @RequestMapping(params=”character=EEDA”)
  public String character() {
    return “character.jsp”
  }
SpringMVC



@Controlle   @RequestMapping
SpringMVC




Handler
SpringMVC


    
SpringMVC


    
    
    
    
    
    
SpringMVC


    
    
    
    
    
    
SpringMVC

Model
  
  
  

 @RequestMapping(method = RequestMethod.GET)
 public String setup(Model model) {
        model.addAttribute(new LoginForm());
        return "login.jsp";
 }                                           loginForm
SpringMVC

     SessionAttributes
    


    
SpringMVC

@SessionAttributes
  
SpringMVC
@Controller
@RequestMapping("/login.do")
@SessionAttributes(“loginForm”)
public class LoginController {

  @RequestMapping(method = RequestMethod.GET)
  public String setup(Model model) {
     model.addAttribute(“loginForm”,new LoginForm());
     return "login.jsp";
  }
                                  loginForm
SpringMVC
@Controller
@RequestMapping("/login.do")
@SessionAttributes(“loginForm”)
public class LoginController {

  @RequestMapping(method = RequestMethod.POST)
  public String doEnd(SessionStatus status) {
     status.setComplete();
     return "login.jsp";
                              loginForm
  }
SpringMVC

    

    
SpringMVC

/sample/login.do?id=hoge

@RequestMapping(method = RequestMethod.POST)
public String doLogin(@RequestParam(“id”) String id) {
   //id ”hoge”
}
SpringMVC

    

    
SpringMVC

@RequestMapping(method = RequestMethod.POST)
public String doLogin(LoginForm loginForm, Errors errors) {
}

@RequestMapping(method = RequestMethod.POST)
public String doLogin(
  @ModelAttribute(“loginForm”)LoginForm loginForm,
        Errors errors) {
}
SpringMVC

    
SpringMVC

@RequestMapping(method = RequestMethod.POST)
public String doLogin(LoginForm loginForm, Errors errors) {
  if (errors.hasErrors()) {
      return "login.jsp";
  }else{
     return “redirect:menu.do”;
  }
}
SpringMVC


    
    
    
SpringMVC


    
    
    

    
    
SpringMVC



view
SpringMVC


    
    
SpringMVC
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<form:form modelAttribute="loginForm">

    ID: <form:errors path="id"/>
    <form:input path="id" size="30" maxlength="30"/>

    PASSWORD: <form:errors path="password"/>
    <form:password path="password" size="10" maxlength="10"/>

    <input type="submit" value="login"/>

</form:form>
SpringMVC
SpringMVC

    

    
    

    

    
SpringMVC

    


    
    

    
SpringMVC


    

    
    

More Related Content

What's hot (20)

PDF
Introduction to Spring MVC
Richard Paul
 
PPT
Spring MVC
yuvalb
 
ODP
Spring Portlet MVC
John Lewis
 
ODP
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
PDF
Spring Framework - MVC
Dzmitry Naskou
 
PDF
Spring MVC
Aaron Schram
 
PDF
Spring MVC 3.0 Framework (sesson_2)
Ravi Kant Soni ([email protected])
 
PDF
Spring mvc
Hamid Ghorbani
 
PDF
Spring MVC Annotations
Jordan Silva
 
PPT
JSF Component Behaviors
Andy Schwartz
 
PPTX
Java Server Faces + Spring MVC Framework
Guo Albert
 
PPT
Java Server Faces (JSF) - Basics
BG Java EE Course
 
KEY
MVC on the server and on the client
Sebastiano Armeli
 
PDF
Jsf intro
vantinhkhuc
 
PDF
Spring mvc
Guo Albert
 
PDF
Jinal desai .net
rohitkumar1987in
 
ODP
Annotation-Based Spring Portlet MVC
John Lewis
 
ODP
springmvc-150923124312-lva1-app6892
Tuna Tore
 
PPT
Jsf2.0 -4
Vinay Kumar
 
PDF
Spring Mvc Rest
Craig Walls
 
Introduction to Spring MVC
Richard Paul
 
Spring MVC
yuvalb
 
Spring Portlet MVC
John Lewis
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Spring Framework - MVC
Dzmitry Naskou
 
Spring MVC
Aaron Schram
 
Spring MVC 3.0 Framework (sesson_2)
Ravi Kant Soni ([email protected])
 
Spring mvc
Hamid Ghorbani
 
Spring MVC Annotations
Jordan Silva
 
JSF Component Behaviors
Andy Schwartz
 
Java Server Faces + Spring MVC Framework
Guo Albert
 
Java Server Faces (JSF) - Basics
BG Java EE Course
 
MVC on the server and on the client
Sebastiano Armeli
 
Jsf intro
vantinhkhuc
 
Spring mvc
Guo Albert
 
Jinal desai .net
rohitkumar1987in
 
Annotation-Based Spring Portlet MVC
John Lewis
 
springmvc-150923124312-lva1-app6892
Tuna Tore
 
Jsf2.0 -4
Vinay Kumar
 
Spring Mvc Rest
Craig Walls
 

Viewers also liked (13)

PDF
Tm forum application_framework_tam_12.5
Nuno Dias
 
PPTX
Skillwise-Spring framework 1
Skillwise Group
 
PPTX
Introduction to spring boot
Santosh Kumar Kar
 
PDF
Web Design & Development Trends Presentation
Richard Bowden
 
PPTX
Final Year Project Presentation
Ghulam Mustafa Vira
 
PDF
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Publicis Sapient Engineering
 
PPTX
Presentation on project report
ramesh_x
 
PDF
ParisJUG Spring Boot
Julien Sadaoui
 
PPTX
Workshop Spring - Session 4 - Spring Batch
Antoine Rey
 
PPTX
Workshop spring session 2 - La persistance au sein des applications Java
Antoine Rey
 
PPTX
Workshop Spring - Session 5 - Spring Integration
Antoine Rey
 
PPTX
Workshop Spring - Session 1 - L'offre Spring et les bases
Antoine Rey
 
PPTX
Ces outils qui vous font gagner du temps
Antoine Rey
 
Tm forum application_framework_tam_12.5
Nuno Dias
 
Skillwise-Spring framework 1
Skillwise Group
 
Introduction to spring boot
Santosh Kumar Kar
 
Web Design & Development Trends Presentation
Richard Bowden
 
Final Year Project Presentation
Ghulam Mustafa Vira
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Publicis Sapient Engineering
 
Presentation on project report
ramesh_x
 
ParisJUG Spring Boot
Julien Sadaoui
 
Workshop Spring - Session 4 - Spring Batch
Antoine Rey
 
Workshop spring session 2 - La persistance au sein des applications Java
Antoine Rey
 
Workshop Spring - Session 5 - Spring Integration
Antoine Rey
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Antoine Rey
 
Ces outils qui vous font gagner du temps
Antoine Rey
 
Ad

Similar to SpringMVC (20)

KEY
Multi Client Development with Spring
Joshua Long
 
PDF
Spring MVC introduction HVA
Peter Maas
 
PDF
Apache Wicket Web Framework
Luther Baker
 
PDF
Unit 07: Design Patterns and Frameworks (3/3)
DSBW 2011/2002 - Carles Farré - Barcelona Tech
 
PDF
Spring Web Services: SOAP vs. REST
Sam Brannen
 
PDF
quickguide-einnovator-7-spring-mvc
jorgesimao71
 
PPT
Spring-training-in-bangalore
TIB Academy
 
PPTX
Spring mvc
nagarajupatangay
 
PDF
Experiences on a Design Approach for Interactive Web Applications
Janne Kuuskeri
 
PDF
Bonnes pratiques de développement avec Node js
Francois Zaninotto
 
PPTX
ASP.NET MVC as the next step in web development
Volodymyr Voytyshyn
 
PDF
PUC SE Day 2019 - SpringBoot
Josué Neis
 
PPTX
Build your web app with asp.net mvc 2 from scratch
Chalermpon Areepong
 
PDF
Intro to Laravel 4
Singapore PHP User Group
 
PPTX
Spring Web MVC
AathikaJava
 
PPTX
Spring mvc
Harshit Choudhary
 
PDF
深入淺出 MVC
Jace Ju
 
PPT
CTTDNUG ASP.NET MVC
Barry Gervin
 
PPTX
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe
 
Multi Client Development with Spring
Joshua Long
 
Spring MVC introduction HVA
Peter Maas
 
Apache Wicket Web Framework
Luther Baker
 
Unit 07: Design Patterns and Frameworks (3/3)
DSBW 2011/2002 - Carles Farré - Barcelona Tech
 
Spring Web Services: SOAP vs. REST
Sam Brannen
 
quickguide-einnovator-7-spring-mvc
jorgesimao71
 
Spring-training-in-bangalore
TIB Academy
 
Spring mvc
nagarajupatangay
 
Experiences on a Design Approach for Interactive Web Applications
Janne Kuuskeri
 
Bonnes pratiques de développement avec Node js
Francois Zaninotto
 
ASP.NET MVC as the next step in web development
Volodymyr Voytyshyn
 
PUC SE Day 2019 - SpringBoot
Josué Neis
 
Build your web app with asp.net mvc 2 from scratch
Chalermpon Areepong
 
Intro to Laravel 4
Singapore PHP User Group
 
Spring Web MVC
AathikaJava
 
Spring mvc
Harshit Choudhary
 
深入淺出 MVC
Jace Ju
 
CTTDNUG ASP.NET MVC
Barry Gervin
 
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe
 
Ad

More from Akio Katayama (7)

PDF
Awsではじめるgluster fs 20120726-public
Akio Katayama
 
PDF
AWS SDK for Java
Akio Katayama
 
PDF
Amazon Web Services
Akio Katayama
 
PDF
Amazon EC2
Akio Katayama
 
PDF
FxUG in Toyama - ASphalt2 container -
Akio Katayama
 
PDF
Apache Tapestry
Akio Katayama
 
PDF
SDLoader SeasarCon 2009 Whire
Akio Katayama
 
Awsではじめるgluster fs 20120726-public
Akio Katayama
 
AWS SDK for Java
Akio Katayama
 
Amazon Web Services
Akio Katayama
 
Amazon EC2
Akio Katayama
 
FxUG in Toyama - ASphalt2 container -
Akio Katayama
 
Apache Tapestry
Akio Katayama
 
SDLoader SeasarCon 2009 Whire
Akio Katayama
 

Recently uploaded (20)

PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Digital Circuits, important subject in CS
contactparinay1
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 

SpringMVC