$30 off During Our Annual Pro Sale. View Details »

Spring MVC

Gerrit Meier
September 11, 2014

Spring MVC

Spring MVC as a part of the Spring ecosystem.

Gerrit Meier

September 11, 2014
Tweet

More Decks by Gerrit Meier

Other Decks in Programming

Transcript

  1. Spring MVC

    View Slide

  2. Gerrit Meier
    T-Systems on site services GmbH
    @meistermeier
    +GerritMeier

    View Slide

  3. Spring

    View Slide

  4. Context Data
    Social
    Integration …
    WebMVC

    View Slide

  5. Context Data
    Social
    Integration …
    WebMVC

    View Slide

  6. Spring Context

    View Slide

  7. Context
    Tourist
    sleep
    fun
    transport
    take my money

    View Slide

  8. Context
    Tourist
    sleep
    fun
    transport
    take my money
    Hotel
    ThemePark ShoppingMall
    Shuttle

    View Slide

  9. Context
    Tourist
    sleep
    fun
    transport
    take my money
    Camping
    WalkInThePark GarageSale
    Bike

    View Slide

  10. Context
    Demo

    View Slide

  11. Spring Data

    View Slide

  12. Data
    http://

    View Slide

  13. Data
    Demo

    View Slide

  14. Spring MVC

    View Slide

  15. DispatcherServlet
    Controller
    View(Template)
    WebMVC
    request response
    delegate
    render response
    rendered response
    attach data

    View Slide

  16. DispatcherServlet
    Controller
    View(Template)
    WebMVC
    request response
    delegate attach data
    render response
    rendered response

    View Slide

  17. DispatcherServlet
    Controller
    View(Template)
    WebMVC
    request response
    delegate
    render response
    rendered response
    attach data

    View Slide

  18. DispatcherServlet
    Controller
    View(Template)
    WebMVC
    request response
    delegate
    render response
    rendered response
    attach data
    model

    View Slide

  19. WebMVC
    @Controller
    public class UserController {
    !
    @RequestMapping("/users")
    public String listUsers() {
    […]
    return "viewName";
    }
    }
    http://server/myApp/users

    View Slide

  20. WebMVC
    @Controller
    @RequestMapping("/users")
    public class UserController {
    !
    @RequestMapping
    public String listUsers() {
    […]
    return "viewName";
    }
    }
    http://server/myApp/users

    View Slide

  21. WebMVC
    @Controller
    public class UserController {
    !
    @RequestMapping("/users")
    public String listUsers(
    @RequestParam("filter") String filter) {
    […]
    return "viewName";
    }
    }
    http://server/myApp/users?filter=hans

    View Slide

  22. WebMVC
    @RequestMapping(
    value = "/users/{id}")
    public String showUser(
    @PathVariable("id") Long id){
    […]
    return "viewName";
    }
    http://server/myApp/users/1

    View Slide

  23. WebMVC
    @RequestMapping(
    value = "/users/{id}",
    method = RequestMethod.GET)
    public String showUser(
    @PathVariable("id") Long id){
    […]
    return "viewName";
    }
    http://server/myApp/users/1

    View Slide

  24. WebMVC
    @RequestMapping(method = RequestMethod.POST)
    public String save(…) {
    […]
    return "viewName";
    }
    POST http://server/myApp/users

    View Slide

  25. WebMVC
    @RequestMapping(method = RequestMethod.POST)
    public String save(
    @Valid User user,
    BindingResult bindingResult) {
    […]
    return "viewName";
    }
    POST http://server/myApp/users

    View Slide

  26. WebMVC
    Accept: text/html
    !
    !
    !
    !
    !
    Accept: application/json
    /users
    { users:
    [
    {name: “Hans“}
    ]
    }
    User List
    !
    - Hans
    http://…

    View Slide

  27. https://www.flickr.com/photos/roshanyadama/11915951346
    https://creativecommons.org/licenses/by/2.0/

    View Slide

  28. WebMVC
    https://www.flickr.com/photos/mistermoss/3134331944
    https://creativecommons.org/licenses/by/2.0/

    View Slide

  29. WebMVC

    View Slide

  30. WebMVC
    https://www.flickr.com/photos/bilal-kamoon/6835060992
    https://creativecommons.org/licenses/by/2.0/

    View Slide