์คํ๋ง MVC ๊ตฌ์กฐ
@RequestMapping
์ ๋ ธํ ์ด์ ์ ํ์ฉํ ๋งค์ฐ ์ ์ฐํ๊ณ , ์ค์ฉ์ ์ธ ์ปจํธ๋กค๋ฌ
@RequestMapping ์ ๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ ์ปจํธ๋กค๋ฌ์ด๋ค.
๊ฐ์ฅ ์ฐ์ ์์๊ฐ ๋์ ํธ๋ค๋ฌ ๋งคํ๊ณผ ํธ๋ค๋ฌ ์ด๋ํฐ
@RequestMapping
- RequestMappingHandlerMapping
- RequestMappingHandlerAdapter
@Controller
public class SpringMemberFormControllerV1 {
@RequestMapping("/springmvc/v1/members/new-form")
public ModelAndView process() {
return new ModelAndView("new-form");
}
}
@Controller
์คํ๋ง์ด ์๋์ผ๋ก ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋กํ๋ค. (๋ด๋ถ์ @Component ์ ๋
ธํ
์ด์
์ด ์์ด์ ์ปดํฌ๋ํธ ์ค์บ์ ๋์์ด ๋จ)
์คํ๋ง MVC์์ ์ ๋
ธํ
์ด์
๊ธฐ๋ฐ ์ปจํธ๋กค๋ฌ๋ก ์ธ์ํ๋ค.
@RequestMapping
์์ฒญ ์ ๋ณด๋ฅผ ๋งคํํ๋ค. ํด๋น URL์ด ํธ์ถ๋๋ฉด ์ด ๋ฉ์๋๊ฐ ํธ์ถ๋๋ค.
mv.addObject("member",member);
์คํ๋ง์ด ์ ๊ณตํ๋ ModelAndView ๋ฅผ ํตํด Model ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ๋๋ addObject() ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
@Controller
@RequestMapping("/springmvc/v2/members")
public class SpringMemberControllerV2 {
ํด๋์ค ๋ ๋ฒจ์ ๋ค์๊ณผ ๊ฐ์ด @RequestMapping ์ ๋๋ฉด ๋ฉ์๋ ๋ ๋ฒจ๊ณผ ์กฐํฉ์ด ๋๋ค.
@RequestMapping("/new-form")
--> /springmvc/v2/members/new-form
์คํ๋ง MVC - ์ค์ฉ์ ์ธ ๋ฐฉ์
public String save(@RequestParam("username") String username,
@RequestParam("age") int age,
Model model) {
์คํ๋ง์ HTTP ์์ฒญ ํ๋ผ๋ฏธํฐ๋ฅผ @RequestParam ์ผ๋ก ๋ฐ์ ์ ์๋ค.
@RequestParam("username") ์ request.getParameter("username") ์ ๊ฑฐ์ ๊ฐ์ ์ฝ๋๋ผ ์๊ฐํ๋ฉด ๋๋ค.
๋ฌผ๋ก GET ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ, POST Form ๋ฐฉ์์ ๋ชจ๋ ์ง์ํ๋ค.
model.addAttribute("member",member);
Model ํ๋ผ๋ฏธํฐ
save() ๋ฅผ ๋ณด๋ฉด Model์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
@RequestMapping(value = "/save",method = RequestMethod.POST)
@RequestMapping ์ URL๋ง ๋งค์นญํ๋ ๊ฒ์ด ์๋๋ผ, HTTP Method๋ ํจ๊ป ๊ตฌ๋ถํ ์ ์๋ค.
@PostMapping("/save")
์ด๊ฒ์ @GetMapping , @PostMapping ์ผ๋ก ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
'Spring > Spring MVC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์คํ๋ง MVC] - 13. ์์ฒญ ๋งคํ / ์์ฒญ ํ๋ผ๋ฏธํฐ (0) | 2023.02.16 |
---|---|
[์คํ๋ง MVC] - 12. ๋ก๊ทธ / SLF4J / Logback (0) | 2023.02.16 |
[์คํ๋ง MVC] - 10. DispatcherServlet / ํธ๋ค๋ฌ ๋งคํ๊ณผ ํธ๋ค๋ฌ ์ด๋ํฐ (0) | 2023.02.15 |
[์คํ๋ง MVC] - 9. ํ๋ก ํธ ์ปจํธ๋กค๋ฌ - ์ด๋ํฐ (0) | 2023.02.15 |
[์คํ๋ง MVC] - 8. ํ๋ก ํธ ์ปจํธ๋กค๋ฌ - ModelView (0) | 2023.02.14 |