스프링 MVC – 컨트롤러 통합

SHByun·2023년 1월 24일

강의 chap5-5


스프링 MVC – 컨트롤러 통합

1. 목표

  • V1의 방식은 메서드에 @RequestMapping을 적용했다.
  • 컨트롤러 클래스에 하나로 통합하여 유연하게 한다.

2. 컨트롤러


@Controller
@RequestMapping("/springmvc/v2/members")
public class SpringMemberControllerV2 {

    private MemberRepository memberRepository = MemberRepository.getInstance();

    @RequestMapping("/new-form")
    public ModelAndView newForm() {
        return new ModelAndView("new-form");
    }

    @RequestMapping("/save")
    public ModelAndView save(HttpServletRequest request, HttpServletResponse response) {
        String username = request.getParameter("username");
        int age = Integer.parseInt(request.getParameter("age"));

        Member member = new Member(username, age);
        memberRepository.save(member);

        ModelAndView mv = new ModelAndView("save-result");
        mv.addObject("member", member);
        return mv;
    }

    @RequestMapping()
    public ModelAndView members(Map<String, String> paramMap) {
        List<Member> members = memberRepository.findAll();
        ModelAndView mv = new ModelAndView("members");
        mv.addObject("members", members);

        return mv;
    }
}
  • 그동안 다른 클래스에 구현했던 메서드들을 하나의 컨트롤러 클래스로 구현한다.
  • 클래스 레벨의 @RequestMapping에 중복된 url을 담아둔다.

출처

인프런 강의 - 김영한
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

profile
안녕하세요

0개의 댓글