MVC: Model, View, Controller
์์ ์๋ view์์ ๋ชจ๋ ๊ฒ์ ๋ค ํ์์ ( ๋ชจ๋ธ 1 ๋ฐฉ์ )
--> ์ญํ ๋ถ๋ด
Controller
๋น์ฆ๋์ค ๋ก์ง ๊ด๋ จ , ๋ด๋ถ์ ์ธ ๊ฒ์ ์ฒ๋ฆฌ์ ์ง์ค
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
model.addAttribute("name",name);
return "hello-template";
}
@ReuqestParam ์ ์ด์ฉํ ๊ฐ ๋ฐ์์ค๊ธฐ
public String helloMvc(@RequestParam("name") String name, Model model){
@RequestParam("๊ฐ์ ธ์ฌ ๋ฐ์ดํฐ์ ์ด๋ฆ") [๋ฐ์ดํฐํ์ ] [๊ฐ์ ธ์จ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ณ์]
model.addAttribute("name",name);
Model ๊ฐ์ฒด๋ Controller ์์ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ View๋ก ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ ๊ฐ์ฒด์ด๋ค.
addAttribute("key", "value") ๋ฉ์๋๋ฅผ ์ด์ฉํด view์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ key, valueํ์์ผ๋ก ์ ๋ฌํ ์ ์๋ค.
Model ๊ฐ์ฒด๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋๋ค.
model.addAttribute("๋ณ์์ด๋ฆ", "๋ณ์์ ๋ฃ์ ๋ฐ์ดํฐ๊ฐ");
model.addAttribute๋ฅผ ์ด์ฉํด์, ๋๊ธธ ๋ฐ์ดํฐ์ ์ด๋ฆ๊ณผ ๊ฐ์ ๋ฃ๋๋ค.
๊ทธ๋ฌ๋ฉด, ์คํ๋ง์ ๊ทธ ๊ฐ์ ๋ทฐ์ชฝ์ผ๋ก ๋๊ฒจ์ค๋ค.
View
ํ๋ฉด์ ๊ทธ๋ฆฌ๋ ๊ฒ์ ์ง์ค
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
${๋ณ์์ด๋ฆ}
๋ทฐ(.jsp ํ์ผ)์์๋ ${}๋ฅผ ์ด์ฉํด์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
์ธ๋ถ์์ ๋ฐ์ ํ๋ผ๋ฏธํฐ์ ์ด๋ฆ
๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ณ์
addAttribute("key", "value") ๋ฉ์๋๋ฅผ ์ด์ฉํด view์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ key, valueํ์์ผ๋ก ์ ๋ฌ
${}๋ฅผ ์ด์ฉ ๋ชจ๋ธ์์ ๊ฐ์ ๊บผ๋ด๊ธฐ
Query String ์ฟผ๋ฆฌ์คํธ๋ง
์ฌ์ฉ์๊ฐ ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ค์ ํ๋๋ก, url ์ฃผ์์ ๋ฏธ๋ฆฌ ํ์๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ๋๊ธฐ๋ ๊ฒ
query parameters( ๋ฌผ์ํ ๋ค์ = ๋ก ์ฐ๊ฒฐ๋ key value pair ๋ถ๋ถ)์ url ๋ค์ ๋ง๋ถ์ฌ์ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์๋ฒ ์ธก์ ์ ๋ฌํ๋ ๊ฒ์ด๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ํน์ ๋ฆฌ์์ค์ ์ ๊ทผํ๊ณ ์ถ์ดํ๋์ง ์ ๋ณด๋ฅผ ๋ด๋๋ค.
ํ์
์ ํด์ง ์๋ํฌ์ธํธ ์ฃผ์ ์ดํ์ ?๋ฅผ ์ฐ๋๊ฒ์ผ๋ก ์ฟผ๋ฆฌ์คํธ๋ง์ด ์์ํจ์ ์๋ฆฐ๋ค
parameter=value๋ก ํ์ํ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ ์ ๋๋ค
ํ๋ผ๋ฏธํฐ๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ &๋ฅผ ๋ถ์ฌ ์ฌ๋ฌ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋๊ธธ ์ ์๋ค.
์๋ํฌ์ธํธ์ฃผ์/์๋ํฌ์ธํธ์ฃผ์?ํ๋ผ๋ฏธํฐ=๊ฐ&ํ๋ผ๋ฏธํฐ=๊ฐ
= ๋ก key ์ value ๊ฐ ๊ตฌ๋ถ๋๋ค.
1. ์น ๋ธ๋ผ์ฐ์ ์์ hello-mvc ์ ๊ทผ
2. ๋ด์ฅ ํฐ์บฃ ์๋ฒ์์ " hello-mvc" ์ด ์๋ค๊ณ ์คํ๋ง์๊ฒ ์ ๋ฌ
2. ์ปจํธ๋กค๋ฌ ( ์ฌ๊ธฐ์๋ helloController )๋ฅผ ๋งคํ๋์ด ์๋์ง ์ฐ์ ์ผ๋ก ๊ฒ์
3. ํด๋น ๋ฉ์๋ ํธ์ถ
return ํ ๋ hello-template / model ์๋ ( name:spring )๋ฅผ ์คํ๋ง์๊ฒ ๋๊ฒจ์ค
4. viewResolver( ํ๋ฉด๊ณผ ๊ด๋ จ๋ ํด๊ฒฐ์ ) ๊ฐ ๋์ - ํ
ํ๋ฆฟ ์์ง์ ์ฐ๊ฒฐ
return ํ ๋์ String๊ณผ ๋๊ฐ์ ๊ฒ์ ์ฐพ์์ ํ
ํ๋ฆฟ ์์ง ์ฒ๋ฆฌ
5. ํ
ํ๋ฆฟ ์์ง์ด ๋ ๋๋ง ํ ๋ณํ์ ํ HTML ์ ์น ๋ธ๋ผ์ฐ์ ์ ๋ฐํ
'Spring > Spring ์ ๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ๋ง ์ ๋ฌธ - (8) ํ์ ๊ด๋ฆฌ ์์ (0) | 2023.01.15 |
---|---|
์คํ๋ง ์ ๋ฌธ - (7) API (0) | 2023.01.12 |
์คํ๋ง ์ ๋ฌธ - (5) ์ ์ ์ปจํ ์ธ (0) | 2023.01.12 |
์คํ๋ง ์ ๋ฌธ - (4) ๋น๋ํ๊ณ ์คํํ๊ธฐ (0) | 2023.01.10 |
์คํ๋ง ์ ๋ฌธ - (3) Welcome Page ๋ง๋ค๊ธฐ / View ํ๊ฒฝ์ค์ (0) | 2023.01.09 |