[스프링MVC 30] 스프링 MVC 시작하기 (tistory.com)
@RequestMapping이 클래스 단위가 아니라 메서드 단위에 적용된 것을 확인할 수 있다. 따라서 컨트롤러 클래스를 유연하게 하나로 통합할 수 있다.
- 컨트롤러를 통합한 예제 코드
- 컨트롤러 클래스를 통합하는 것을 넘어서 조합할 수 있다.
- 클래스 레벨에 다음과 같이 @RequestMapping을 두면 메서드 레벨과 조합이 된다.
- /springmvc/v2/members라는 중복코드를 제거했음을 확인할 수 있다.
- 컨트롤러 클래스를 통합하는 것을 넘어서 조합할 수 있다.
@Controller
@RequestMapping("/springmvc/v2/members") //메서드 레벨과 조합
public class SpringMemberControllerV2 {
private MemberRepository memberRepository = MemberRepository.getInstance();
@RequestMapping("/new-form") //조합 결과: /springmvc/v2/members/new-form
public ModelAndView newForm(){
return new ModelAndView("new-form");
}
@RequestMapping("/save") // /springmvc/v2/members/save
public ModelAndView save(HttpServletRequest req, HttpServletResponse resp){
String username = req.getParameter("username");
int age = Integer.parseInt(req.getParameter("age"));
Member member = new Member(username, age);
memberRepository.save(member);
ModelAndView mv = new ModelAndView("save-result");
mv.addObject("member", member); //Model 데이터 추가
return mv;
}
@RequestMapping // /springmvc/v2/members
public ModelAndView members() {
List<Member> members = memberRepository.findAll();
ModelAndView mv = new ModelAndView("members");
mv.addObject("members", members);
return mv;
}
}
[스프링MVC 32] 스프링 MVC 실무 (tistory.com)
728x90
반응형
'Spring Tutorial' 카테고리의 다른 글
로그 사용법 (0) | 2023.08.11 |
---|---|
[스프링MVC 32] 스프링 MVC: 실용적인 방식 (실무에서 쓰는 방식) (0) | 2023.08.10 |
[스프링MVC 30] 스프링 MVC: 시작 (0) | 2023.08.07 |
[스프링MVC 29] 스프링 MVC 구조: 뷰 리졸버 (0) | 2023.08.06 |
[스프링MVC 28] 스프링 MVC 구조: 핸들러 매핑과 핸들러 어댑터 (0) | 2023.08.05 |