๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Spring

Servelt์ด ๋„๋Œ€์ฒด ๋ญ์ฃ ?

by ๋„์บ๋ฆฌ๐Ÿฑ 2022. 8. 14.
๋ฐ˜์‘ํ˜•

#๏ธโƒฃ1๏ธโƒฃ ์›น์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด๋ž€

์›์ดˆ์˜ ์›น ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์€ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์— ์„ค์น˜๋˜์–ด ์‚ฌ์šฉ๋˜๊ณค ํ•˜์˜€๋‹ค.

๊ทธ๋ž˜์„œ SW๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„์„ ์‚ญ์ œ-์žฌ์„ค์น˜ ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณค ํ–ˆ๋‹ค. 

์ด ๊ณผ์ •์—์„œ๋„ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ๋ฐ์ดํ„ฐ ํฌ๋งทํŒ… ๋“ฑ ๋ถˆํŽธํ•จ์ด ๋งŽ์•˜๋‹ค.

์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ์— ์–ด๋ ค์›€์„ ๋Š๋ผ๊ณ  ์žˆ๋˜ ํ™˜๊ฒฝ์ด์—ˆ๋˜ ๊ฒƒ์ด๋‹ค. 

 

๊ธฐ์กด์˜ WEB ํ™˜๊ฒฝ์€ ๋†€๋ž๊ฒŒ๋„ ์›น์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์„ ๋งŒํ•œ ๊ฒƒ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์—ˆ๋‹ค. 

๊ธฐ๋ณธ์ ์œผ๋กœ WEB-BROWSER์€ PAGE๋ฅผ ์š”์ฒญํ•˜๊ณ , SERVER๋Š” ์š”์ฒญ๋ฐ›์€ PAGE๋ฅผ ๋Œ๋ ค์ฃผ๋Š” ํ˜•์‹์„ ๊ฐ–๋Š”๋‹ค.

์ด PAGE๊ฐ€ ๊ธฐ์กด์—์„œ ๋ณด๋Š” ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ™”๋ฉด๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค๋Š”๊ฒŒ ์ฃผ์š”ํ•œ ์‹œ์‚ฌ์ ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์›น ํ™˜๊ฒฝ์€ ์ •์ ์ด๋‹ค.

์ฆ‰ ์š”์ฒญ ๋ฐ›์€ ํŽ˜์ด์ง€๋ฅผ ๋ณด๋‚ด์ค„ ์ค„๋งŒ ์•Œ์ง€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์–ด๋–ค ๋‚ด์šฉ์„ ์—ฐ๋™ํ•œ๋‹ค๋˜๊ฐ€ ํ•˜๋Š” ์ž‘์—…์ด ๋ถˆ๊ฐ€ ํ•˜๋‹ค.

 

๊ทธ๋ž˜์„œ!

์ด ์ •์ ์ธ ํ™˜๊ฒฝ์„ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์›น ์„œ๋ฒ„๋ฅผ ๋ฐ”๊พธ์–ด์„œ ๋™์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

 

์กฐ๊ธˆ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์›น ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ ๋™์ž‘ ๋ฐฉ์‹์„ ์‚ดํŽด๋ณด๋ฉด, 

๋งŒ์•ฝ ํšŒ์› ์ •๋ณด list๋ฅผ ์š”์ฒญํ–ˆ๋‹ค๋ฉด, ํ•ด๋‹น ์š”์ฒญ ํŽ˜์ด์ง€๊ฐ€ home directory์— ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณผ ๊ฒƒ์ด๋‹ค.

ํ•˜์ง€๋งŒ home directory์—๋Š” ํ˜„์žฌ ํšŒ์› ์ •๋ณด List์— ๋Œ€ํ•œ ๊ฒƒ์ด ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋ณด์—ฌ์ฃผ๋Š” ์–‘์‹์ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์›น์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด home directory์— ์žˆ๋Š” ์›น ๋ฌธ์„œ๋ฅผ ๋ฐ”๋กœ ๋Œ๋ ค์ค„ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ด๊ฒƒ์„ ์‹คํ–‰ํ•ด์„œ DB์— ์žˆ๋Š” ํ•ด๋‹น ํšŒ์› ์ •๋ณด list๋ฅผ ๋ฌธ์„œํ™” ํ•˜์—ฌ ๋Œ๋ ค์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

์ฆ‰, ์ด๊ฒƒ์„ ์‹คํ–‰ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด ํ•„์š”ํ•œ๋ฐ ์ด๊ฒŒ ๋ฐ”๋กœ WAS ์ด๋‹ค.

*WAS = Web Application Server

 

์ฆ‰ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ์€ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋“ค์˜ ํ•ฉ์ธ SERVER APP๊ณผ, ํ•„์š”ํ•œ CODE๋“ค์„ ์ฐพ์•„์„œ ๋™์ ์œผ๋กœ ์ƒ์„ฑ์„ ๋„์šธ WAS ํ•„์š”ํ•˜๋‹ค. ์ฆ‰ ์ด ๋‘๊ฐ€์ง€(์„œ๋ฒ„์•ฑ/ ์™€์Šค)๊ฐ€ ServerApplication์„  ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

#๏ธโƒฃ2๏ธโƒฃ ์ด ์„œ๋ฒ„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„œ๋ธ”๋ฆฟ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์™œ ์„œ๋ธ”๋ฆฟ์ด๋ผ๊ณ  ํ• ๊นŒ???

์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณด๋ฉด 

ํšŒ์› ์ •๋ณด list ์š”์ฒญ์ด ์˜ค๋ฉด  -> ์š”๊ฑฐ

๊ตฌ๋งค ์ •๋ณด list ์š”์ฒญ์ด ์˜ค๋ฉด -> ์š”๊ฑฐ 

์ด๋Ÿฐ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์ฆ‰ ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์š”์ฒญ์— ๋”ฐ๋ผ ๋™์ž‘ํ•˜๋Š” ๋ถ€๋ถ„์ด ํŒŒํŽธํ™” ๋˜์–ด์žˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํšŒ์›์ •๋ณด List ์š”์ฒญ์ด ์˜ค๋ฉด ๊ทธ๊ฒƒ์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์„ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•ด ์ฃผ๋ฉด ์ด ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒŒํŽธํ™”๋œ ๊ฒƒ์€ ๊ทธ๋Œ€๋กœ ๋์ธ ๊ฒƒ์ด๋‹ค.

 

Serve + let

์—์„œ let์€ ์กฐ๊ฐ์„ ์˜๋ฏธํ•œ๋‹ค.

์ฆ‰ ๊ทธ๋ƒฅ ํŒŒํŽธํ™”๋œ ์„œ๋ฒ„ ์ •๋„๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๋“ฏํ•˜๋‹ค.

 

์ง์ ‘ ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•˜๋ฉด, 

์ด ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋“ค์€ ๋ชจ๋‘ WAS๋กœ๋ถ€ํ„ฐ Load ๋˜๊ณ , WAS์—์„œ ๋Œ์•„๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋ฅผ Servlet ์ฝ”๋“œ๋กœ ๋Œ๋ ค ์ฃผ๊ฒŒ ๋œ๋‹ค.

 

๋งŒ๋“ค์–ด์ง„ ์„œ๋ธ”๋ฆฟ class๋ฅผ ๋‘์–ด์•ผ ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์ •ํ•ด์ ธ ์žˆ๋‹ค. 

๋ฐ”๋กœ WEB-ROOT์˜  WEB-INF๋ผ๋Š” ํด๋”์— .classes ํด๋” ์•ˆ์— ๋‘๋ฉด ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€