๋กœ์ผ“๐Ÿพ
article thumbnail
๋ฐ˜์‘ํ˜•

 

 

Sevlet Container, Servlet์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๊ณ  ์ด๋ฒˆ์—” Servlet์˜ ๋Œ€ํ‘œ๊ฒฉ์„ ๋งก๊ณ  ์žˆ๋Š” Dispatcher-Servlet์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 


# Dispatcher-Servlet์˜ ์ •์˜

 

์Šคํ”„๋ง์—์„œ ์ •์˜ํ•œ ๊ฐœ๋…์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Servlet Container์—์„œ HTTPํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ณ„์ธต์˜ ์ œ์ผ์•ž์— ๋‘ฌ์„œ ์ค‘์•™์ง‘์ค‘์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ(Front Controller)

 

์ข€ ๋” ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด์˜ค๋ฉด ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋•Œ ์ œ์ผ ์•ž์—์„œ ์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋ฅผ Dipatcher Servlet์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 


# Dispatcher-Servlet์˜ ํ๋ฆ„

 

MVC์˜ ํ๋ฆ„๋„

 

  1. ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ DispatcherServlet์— URL๋กœ ์ ‘๊ทผํ•˜์—ฌ ํ•ด๋‹น ์ •๋ณด๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  2. HandlerMapping์—์„œ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•ด ๋งคํ•‘๋œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋Š”์ง€ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  3. ๋งคํ•‘๋œ ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด ์ฒ˜๋ฆฌ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.(๊ณตํ†ต์ ์ธ ์ž‘์—…์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋Š” Dispatcher๊ฐ€ ๋ฏธ๋ฆฌ ํ•ด๋†“์•˜๊ณ , ์ดํ›„ ํ•ด๋‹น Controller๊ฐ€ ํ•ด์•ผํ•˜๋Š” ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด์„œ๋งŒ ํ•ฉ๋‹ˆ๋‹ค.)
  4. ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ์™€ View ์ด๋ฆ„์„ ModelAndView์— ์ €์žฅํ•ด์„œ DispatcherServlet์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.(ModelAndView์—๋Š” View ์ด๋ฆ„์ด ๋‹ด๊ฒจ์ ธ ์žˆ๋Š” ๊ฒƒ์ด์ง€ View์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง„ ์•Š์Šต๋‹ˆ๋‹ค.)
  5. DispatcherServlet์—์„œ๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ณด๋‚ด์˜จ View ์ด๋ฆ„์„ ViewResolver๋กœ ๋ณด๋‚ด ํ•ด๋‹น View๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  6. ViewResolver๋Š” ์š”์ฒญํ•œ View๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  7. View์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ DispatcherServlet์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  8. DispatcherServlet์€ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ๊ฒŒ์‹œ๊ธ€

 

[Spring] ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ž€?

์ด ๊ธ€์€ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ์ง€์ ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :) ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์•ž์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ฌด์—‡

kingofbackend.tistory.com

 

 

[Spring] ์„œ๋ธ”๋ฆฟ์ด๋ž€?

์„œ๋ธ”๋ฆฟ??!! ์„œ๋ธ”๋ฆฟ์€ ์„œ๋ฒ„ ์ชฝ์—์„œ ์‹คํ–‰๋˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋„์™€์ฃผ๋Š” ์ž๋ฐ” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์„œ๋ธ”๋ฆฟ์€ ์ž๋ฐ” ํด๋ž˜์Šค์ด๋ฏ€๋กœ ์ž๋ฐ”๊ฐ€์˜ ์ผ๋ฐ˜์ ์ธ ํŠน์ง•์€ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ 

kingofbackend.tistory.com

 

 

์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์งˆ๋ฌธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.


"๋‚œ ๋ฐ˜๋“œ์‹œ ๋ฐฑ์—”๋“œ ์™•์ด ๋ ๊ฑฐ์•ผ"

๋ฐ˜์‘ํ˜•
profile on loading

Loading...