์์ฒญํ๋ฆ

์ธํฐ์ ํฐ์ ํํฐ์ ์ฐจ์ด์ ์ ๋ฌด์์ผ๊น?
Filter
ServletContainer์์ ๊ฐ์ฅ ๋จผ์ ์คํ๋จ
์ ์ ์์(CSS, JS ๋ฑ)๋ ๋ค ์ง๋๊ฐ
๋ชฉ์ : ๋ณด์ ํํฐ, ํ ํฐ ๊ฒ์ฌ, ์์ฒญ ๋ก๊น , GZIP ์์ถ ๋ฑ ์ ์ญ ์ฒ๋ฆฌ
๋จ์ : Spring MVC ์์ธ ์ฒ๋ฆฌ์ ์ฐ๋ ์ด๋ ค์, ์ค์ ์ ๋ชจ๋ ์์ฒญ ์ฐจ๋จ ์ํ
Interceptor
DispatcherServlet ๋ด๋ถ์์๋ง ์๋ํจ
์ ์ ์์์ ์๋ ์ ์ธ๋จ
๋ชฉ์ : ๋ก๊ทธ์ธ ์ฒดํฌ, ๊ถํ ๊ฒ์ฌ, API ๋ก๊น ๋ฑ MVC ๊ตฌ์กฐ์ ๋ง๋ ์ฒ๋ฆฌ
์ฅ์ : Spring์ ์์ธ ์ฒ๋ฆฌ, ์ธ์ , ๋ชจ๋ธ ๋ฑ๊ณผ ์ ์ฐ๋๋จ
์์ ๋น๊ต
| ํญ๋ชฉ | Filter | Interceptor |
| ์คํ์์น | DispatcherServlet ์ด์ | DispatcherServlet ๋ด๋ถ |
| ์ ์ ์์ ํต๊ณผ ์ฌ๋ถ | ์ง์ ๊ฑธ๋ฌ์ผ ํจ | ์๋ ์ ์ธ |
| ์์ธ ํธ๋ค๋ก ์ฐ๋ | ๋ถํธํจ | ์ ์ฐ๋๋จ |
| ์ผ๋ฐ์ ์ธ ์ ๊ทผ์ ์ด | ๋ถํธ | ์ ํฉ |
| ์ฌ์ฉ ๋ชฉ์ | ๋ณด์/๋ก๊น /ํค๋ ๊ฒ์ฌ | ์ธ์ฆ/์ ๊ทผ์ ์ด/์์ฒญ ํ ์ฒ๋ฆฌ |
๊ถํ์ด๋ ๋ก๊ทธ์ธ ์ฒดํฌ ๊ฐ์๊ณณ์์ ์ ์ธํฐ์ ํฐ๊ฐ ๋ ๋์๊น?
| ์ด์ | ์ค๋ช |
| DispatcherServlet ์ดํ ์คํ๋จ | ์ฆ, ์ ์ ๋ฆฌ์์ค ๊ฐ์ ๊ฑฐ ์๋์ผ๋ก ์ ์ธ๋จ (๊ฐ๋ฐ์๊ฐ ๊ฑธ๋ฌ๋ผ ํ์ ์์) |
| MVC ๊ตฌ์กฐ์ ์ ๋ง์ | ์ปจํธ๋กค๋ฌ ์/๋ค์ ๋ถ์ด์ ModelAndView, request, session ํ์ฉ์ ์ต์ |
| ์๋ฌ ํธ๋ค๋ง ์ฐ๋์ด ์ ๋จ | ์์ธ ๋ฐ์ ์ @ExceptionHandler, @ControllerAdvice์ ๊ถํฉ ์ข์ |
| Spring Boot๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํํฐ๋ณด๋ค ์ธํฐ์ ํฐ์ ์ต์ ํ๋จ | ๋๋ถ๋ถ ๊ตฌ์กฐ๊ฐ @Controller, @RestController ๊ธฐ๋ฐ์ด๊ธฐ ๋๋ฌธ์ |
์ด๋ค ์ฌ์ฉ์๊ฐ ์ด๋ค URL์ ์ ๊ทผ ๊ฐ๋ฅํ์ง ์ ์ดํ๋ ๊ฑด
Spring MVC ์ปจํธ๋กค๋ฌ ๊ธฐ์ค์ผ๋ก ๋์ํ๋ ๊ตฌ์กฐ๋๊น ๋น์ฐํ Interceptor๊ฐ ๋ง๋ ๋๊ตฌ๋ค.