๋ฐ์ํ
๐ก FrontController
ํ๋ฉด์์ ๋ญ๊ฐ๋ฅผ ํด๋ฆญํด ํธ์ถ ํ์ ๋, ๊ฐ๊ฐ์ ์ฌ๋ฌ ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํ์ง ์๊ณ , ํ๋์ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํด ๊ฐ ์ปจํธ๋กค๋ฌ๋ก ์ด๋ํ๋ ๊ตฌ์กฐ์ด๋ค. ์๋ฌธ๊ด๐จโ๐ค๊ณผ ๊ฐ์ ์ญํ
๊ณตํต ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ , ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ปจํธ๋กค๋ฌ๋ ์๋ธ๋ฆฟ์ ์ฌ์ฉํ์ง ์์๋ ๋๋ค.
์ด ๊ธ์์๋ ๋์ค์ง ์์ง๋ง, ์คํ๋งMVC์ ํต์ฌ๋ FrontController์ด๋ฉฐ, Dispatcherservlet์ผ๋ก ๋์ด ์๋ค.
๊ธฐ์กด ์ฝ๋์์ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ๋ฅผ ๋์ ํด๋ณด๊ฒ ๋ค.
- ํจํค์ง์ ํด๋์ค ์์น
- interface ์ปจํธ๋กค๋ฌ
- ๋ฅผ ์์๋ฐ๋ ์ปจํธ๋กค๋ฌ๋ค์ ๋ง๋ค์ด์ค๋ค.
์ด ๋, ์์ ์ฝ๋๋ ๋ฉ์๋๋ช ๋ง ๋ค๋ฅด๊ณ ์์ ์ฝ๋๋ ๊ธฐ์กด ์ฝ๋์ ๊ฐ๋ค. - ๋์ผํ๊ฒ ๋๋จธ์ง save, memberList ์ปจํธ๋กค๋ฌ๋ ๋ง๋ค์ด์ค๋ค.
- FrontController
- urlPatterns = "/front-controller/v1/*" ๋ก ์์ํ๋ ๋ชจ๋ ํ์ด์ง๋ฅผ ๋ฐ์ ์ ์๋ค.
- controllerMap์ด๋ผ๋ ์ปจํธ๋กค๋ฌ ๋งคํ ์ ๋ณด๋ฅผ ๋ง๋ค์ด์
- request.getRequestURI( ) ๋ก uri๋ฅผ ๊ฐ์ ธ์ค๋ฉด "/front-controller/v1/members"๊ฐ ๊ฐ์ ธ์์ง๋ค.
โ key๊ฐ์ผ๋ก ํ์ฉํด ์ผ์นํ๋ ํ์ ์ปจํธ๋กค๋ฌ๋ฅผ ๊ฐ์ ธ์จ๋ค. - controller.process(request, response)
โ ์ผ์นํ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์คํ์ํจ๋ค.
โป ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ ๋๋ ์ด์ ๊ฐ์ด, ๊ธฐ์กด ์ฝ๋๋ฅผ ์ต๋ํ ์ ์ง ์ํค๊ณ ํ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข๋ค.
๋๋ ์ . ๋ฌผ๋ก ์์ฆ ์ด๋ ๊ฒ ์ฐ์ง๋ ์๊ฒ ์ง๋ง ์ฐธ ๊น๋ํ๊ณ ์ข์ ๊ตฌ์กฐ์ด๋ค.
โป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373
๋ฐ์ํ
'โ JAVA > โ Library & Pattern' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA]MVC์ Model ๋ง๋ค์ด๋ณด๊ธฐ (0) | 2025.03.01 |
---|---|
[JAVA]MVC์ View ๋ง๋ค์ด๋ณด๊ธฐ (1) | 2025.03.01 |
[JAVA]HttpServlet, JSP, JSTL์ ์ด์ฉํ MVC pattern (0) | 2025.02.28 |
[JAVA]HttpServlet ์ด์ฉํด ํ์๊ด๋ฆฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค๊ธฐ (1) | 2025.02.28 |
[JAVA]์ฑ๊ธํค ๋ฐฉ์์ ์ฃผ์์ (0) | 2025.02.25 |