๋์คํจ์ฒ ์๋ธ๋ฆฟ์ dispatch๋ "๋ณด๋ด๋ค"๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๋จ์ด๋ฅผ ํฌํจํ๋ ๋์คํจ์ฒ ์๋ธ๋ฆฟ์ HTTP ํ๋กํ ์ฝ๋ก ๋ค์ด์ค๋ ๋ชจ๋ ์์ฒญ์ ๊ฐ์ฅ ๋จผ์ ๋ฐ์ ์ ํฉํ ์ปจํธ๋กค๋ฌ์ ์์ํด์ฃผ๋ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ(Front Controller)๋ผ๊ณ ์ ์ํ ์ ์๋ค.
๋์คํจ์ฒ ์๋ธ๋ฆฟ์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด URI์ ๋ง๋ ํธ๋ค๋ฌ์ ๋ทฐ๋ฅผ ์ฐพ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด "/posts/save"์ URI ์ฃผ์๋ก GET ์์ฒญ์ ๋ณด๋ด๋ฉด ๋์คํจ์ฒ ์๋ธ๋ฆฟ์ ์๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฐพ์ ์์ ์ ์์ํ๋ค.
//PostController.java
@GetMapping("/posts/save")
public String loadPostForm() {
return "post-save";
}
Dispatcher-Servlet์ ์ฅ์
Spring MVC๋ DispatcherServlet์ด ๋ฑ์ฅํจ์ ๋ฐ๋ผ web.xml์ ์ญํ ์ ์๋นํ ์ถ์์์ผ์ฃผ์๋ค.
๊ณผ๊ฑฐ์๋ ๋ชจ๋ ์๋ธ๋ฆฟ์ URL ๋งคํ์ ์ํด web.xml์ ๋ชจ๋ ๋ฑ๋กํด์ฃผ์ด์ผ ํ์ง๋ง, dispatcher-servlet์ด ํด๋น ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ค์ด์ค๋ ๋ชจ๋ ์์ฒญ์ ํธ๋ค๋งํด์ฃผ๊ณ ๊ณตํต ์์ ์ ์ฒ๋ฆฌ๋ฉด์ ์๋นํ ํธ๋ฆฌํ๊ฒ ์ด์ฉํ ์ ์๊ฒ ๋์๋ค.
์ฐ๋ฆฌ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ๊ตฌํํด๋๊ธฐ๋ง ํ๋ฉด DispatcherServlet์ด ์์์ ์ ํฉํ ์ปจํธ๋กค๋ฌ๋ก ์์์ ํด์ฃผ๋ ๊ตฌ์กฐ๊ฐ ๋์๋ค.
'Spring ๐ฑ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋์์ฑ ์ด์ ํด๊ฒฐํ๊ธฐ : synchronized์ saveAndFlush (0) | 2023.12.01 |
---|---|
UserSesseion ์ฌ๋ก๋ํ๊ธฐ (0) | 2023.11.03 |
[Spring JPA] Entity์ @Setter๋ฅผ ์ง์ํด์ผ ํ๋ ์ด์ (0) | 2023.07.27 |
[JPA] ์์์ฑ ์ปจํ ์คํธ (0) | 2023.07.25 |
[Spring] ์ฑ๊ธํค ์ปจํ ์ด๋ (0) | 2023.07.19 |