[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ๐Ÿถ แ„แ…ฉแ„€แ…ต์˜ Servlet vs Spring

KIM YONG GUยท2023๋…„ 9์›” 29์ผ
0

์šฐ์•„ํ•œํ…Œํฌ

๋ชฉ๋ก ๋ณด๊ธฐ
11/41

Spring์œผ๋กœ Servlet์„ ๋‹ค๋ฃฌ๋‹ค๋Š” ๊ฒƒ

1. ์„œ๋ธ”๋ฆฟ์ด๋ž€

์•„๋ž˜๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” http servlet request๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์„œ๋“œ์˜ ์ผ๋ถ€

์„œ๋ธ”๋ฆฟ์„ ์ด์šฉํ•ด์„œ ์›น์š”์ฒญ(HTTP ์š”์ฒญ ๋ฐ ์‘๋‹ต)์„ ๋‹ค๋ฃจ๊ฒŒ ๋˜๋ฉด ๊ฐœ๋ฐœ์ž๋“ค์ด ์ง„์งœ ์ง‘์ค‘ํ•ด์•ผ ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง(์ฒ˜๋ฆฌ ๋กœ์ง)์— ๋” ์ง‘์ค‘ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

์„œ๋ธ”๋ฆฟ ์ƒ์„ฑ์€ init, ์ข…๋ฃŒ๋Š” destroy

2. ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์™€ ์„œ๋ธ”๋ฆฟ ๋™์ž‘ ๋ฐฉ์‹

.. Response๋ž‘ Request ๋ž™์ฒด๋Š” ์ƒ์„ฑํ•˜๊ณ  ์†Œ๋ฉธ์‹œ์ผฐ๋Š”๋ฐ ์„œ๋ธ”๋ฆฟ์€ ์ƒ์„ฑ๋งŒ ํ•˜๊ณ  ์†Œ๋ฉธ์‹œํ‚ค๋Š” ๋™์ž‘์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์„œ๋ธ”๋ฆฟ์ด ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์œผ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๋˜์–ด์„œ ๊ทธ๋ ‡๋‹ค. ์„œ๋ธ”๋ฆฟ ๊ฐ์ฒด๋Š” ์†Œ๋ฉธํ•˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๊ฐ€ ๋‹ค์Œ ์š”์ฒญ์ด ๋“ค์–ด์™”์„ ๋•Œ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด์„œ ๋˜ ํ˜ธ์ถœ๋˜์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ.

์„œ๋ธ”๋ฆฟ ์ปจ์ฒด์ด๋„ˆ๋Š” ์„œ๋ธ”๋ฆฟ์˜ ์ƒ๋ช…์ฃผ๊ธฐ(๋ผ์ดํ”„ ์‚ฌ์ดํด)๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค.

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ. ์—ฌ๋Ÿฌ ๋‹จ์ ๋“ค์ด ์žˆ๋‹ค.

3. ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด

4. Dispatche Servelt์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ณผ์ •

๋ง์ด ์‰ฝ์ง€ ๋‹ค ์ธํ„ฐํŽ˜์ด์Šค๋“ค์ด๊ณ  ๊ตฌํ˜„์ฒด๊ฐ€ ๋งŽ๋‹ค.

๊ฐœ๋ฐœ์ž๋“ค์ด ์ง‘์ค‘ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์€ ๋…ธ๋ž€์ƒ‰ ๋ถ€๋ถ„. ๋นจ๊ฐ„์ƒ‰ ๋ถ€๋ถ„์€ ๋””์ŠคํŒจ์ฒ˜์„œ๋ธ”๋ฆฟ์ด ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋กœ๋ถ€ํ„ฐ ์ฃผ์ž…๋ฐ›์•„ ์ž‘๋™ํ•˜๊ฒŒ ๋œ๋‹ค.

5. ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ ๋ง›๋ณด๊ธฐ

๊ฒฐ๊ตญ ์Šคํ”„๋ง์œผ๋กœ ์›น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์Šคํ”„๋ง MVC์—์„œ ์ œ๊ณตํ•˜๋Š” ๋””์ŠคํŒจ์ฒ˜์„œ๋ธ”๋ฆฟ๊ณผ ์›น ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ด€๋ จ ๊ตฌํ˜„์ฒด๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ์™€ ๋™์‹œ์— ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ, ์ฆ‰ ์Šคํ”„๋ง IoC๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์ตœ์ข…์ ์ธ ๋ชฉ์ ์€ ๊ฐœ๋ฐœ์ž๋กœ ํ•˜์—ฌ๊ธˆ ํ•ธ๋“ค๋Ÿฌ, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•  ๋•Œ ์ง‘์ค‘ํ•ด์•ผ ํ•˜๋Š” ์š”์ฒญ์ฒ˜๋ฆฌ ๋กœ์ง๋“ค์—๋งŒ ์‹ ๊ฒฝ์„ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ž„.

profile
Engineer, Look Beyond the Code.

0๊ฐœ์˜ ๋Œ“๊ธ€