Spring MVC

์ •์˜

์Šคํ”„๋ง์ด ์ง€์›ํ•˜๋Š” ์›น MVC ํ”„๋ ˆ์ž„์›Œํฌ

Model, View, Controller๋กœ ์—ญํ• ์„ ๋ถ„๋‹ดํ•˜๋Š” MVC ๋””์ž์ธํŒจํ„ด์„ ์ด์šฉํ•œ๋‹ค.

ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ (๋™์ž‘ ํ๋ฆ„)

DispatcherServlet

๊ธฐ์กด์—๋Š” ๋™์  ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ์˜ ๋งคํ•‘ ์ •๋ณด๊ฐ€ ๋ชจ๋‘ Servlet์œผ๋กœ ์ž‘์„ฑ๋˜์–ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Servlet์ด ๋งŽ์•„์งˆ ์ˆ˜๋ก ๊ด€๋ฆฌํ•˜๊ธฐ ํž˜๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์—, ๋‹จ ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ์„ ๋‘๊ณ  ์ด ์„œ๋ธ”๋ฆฟ์ด ์š”์ฒญ์„ ๋ฐ›์•„ POJO ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋งค์นญ๋˜๋„๋ก ์šด์˜ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด ๋‹จ ํ•˜๋‚˜์˜ ์„œ๋ธ”๋ฆฟ์„ DispatcherServlet์ด๋ผ๊ณ  ํ•œ๋‹ค.

HandlerMapping

DispatcherServlet์€ ์ง์ ‘ ๋งค์นญ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ HandlerMapping์ด๋ผ๋Š” ๊ฐ์ฒด(๋นˆ)์—๊ฒŒ ์œ„์ž„ํ•œ๋‹ค. HandlerMapping์€ ๋‚ด๋ถ€์ ์œผ๋กœ Controller ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋กœ๋ถ€ํ„ฐ ํ•ด๋‹นํ•˜๋Š” Controller๋ฅผ ์ฐพ์•„ DispatcherServlet์—๊ฒŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

HandlerAdapter

HandlerMapping์ด ์ฐพ์•„ ๋ฐ˜ํ™˜ํ•œ Controller ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋นˆ์ด๋‹ค. ์ด ๋นˆ์€ Controller ๋‚ด์—์„œ ์•Œ๋งž์€ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ ๋’ค ๊ฒฐ๊ณผ๊ฐ’(ModelAndView)์„ DispatcherServlet์—๊ฒŒ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ViewResolver

ModelAndView ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„ ๋ณด์—ฌ์ค„ View๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋นˆ์ด๋‹ค.

Last updated