01. 02 TIL : ํ๋ฐํธ ์ปจํธ๋กค๋ฌ(front controller) ํจํด
์ถ์ฒ : ํจ์คํธ์บ ํผ์ค
- ๋ชจ๋ ์์ฒญ์ ๋จ์ผ handler์์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ํจํด
- ์คํ๋ง ์น MVC ํ๋ ์์ํฌ์ DispatcherServlet(ํ๋ฐํธ ์ปจํธ๋กค๋ฌ ์ญํ )์ด ํ๋ฐํธ ์ปจํธ๋กค๋ฌ ํจํด์ผ๋ก ๊ตฌํ๋์ด ์๋ค
* Forward vs Redirect
1) Forward
- ์๋ธ๋ฆฟ์์ ํด๋ผ์ด์ธํธ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก ๋ค๋ฅธ ์๋ธ๋ฆฟ(๋๋ JSP)์ ์์ฒญํ๋ ๋ฐฉ์
- Forward ๋ฐฉ์์ ์๋ฒ ๋ด๋ถ์์ ์ผ์ด๋๋ ์์ฒญ์ด๊ธฐ ๋๋ฌธ์ HttpServletRequest, HttpServletResponse ๊ฐ์ฒด๊ฐ ์๋กญ๊ฒ ์์ฑ๋์ง ์๋๋ค(๊ณต์ ๋๋ค)
- RequsetDistpatcher dispatcher = request.getRequestDispatcher("ํฌ์๋ํ ์๋ธ๋ฆฟ ๋๋ JSP");
- dispatcher.forward(request, response);
2) Redirect
- ์๋ธ๋ฆฟ์ด ํด๋ผ์ด์ธํธ๋ฅผ ๋ค์ ๊ฑฐ์ณ ๋ค๋ฅธ ์๋ธ๋ฆฟ(๋๋ JSP)์๊ฒ ์์ฒญํ๋ ๋ฐฉ์
- ๋ฆฌ๋ค์ด๋ ํธ ๋ฐฉ์์ ํด๋ผ์ด์ธํธํ ๋ถํฐ์ ์ ์์ฒญ์ด๋ฏ๋ก HttpServletRequest, HttpServletResponse ๊ฐ์ฒด๊ฐ ์๋ก ์์ฑ๋๋ค
- HttpServletResponse ๊ฐ์ฒด์ sendRedirect()๋ฅผ ์ด์ฉํ๋ค