JSP ๊ธฐ๋ณธ ์šฉ์–ด

2023. 9. 11. 20:31
728x90

๐Ÿ’จ JSP๋ž€ (Java Server Pages)

: ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ . ์ž๋ฐ” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ์ธก์—์„œ ์›น ํŽ˜์ด์ง€๋“ค์„ ์ƒ์„ฑํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „์†กํ•ด์ค€๋‹ค.

 

๐Ÿ’จ ์žฅ์ 

- ์งง์€ ์ฝ”๋“œ๋กœ ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

- ๊ธฐ๋ณธ์ ์ธ ์˜ˆ์™ธ๋Š” ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

- ๋งŽ์€ ํ™•์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰๋˜์–ด ์‹œ์Šคํ…œ ์ž์›์„ ์ ˆ์•ฝํ•ด์ค€๋‹ค.

 

๐Ÿ†˜ ๊ธฐ๋ณธ ์šฉ์–ด

1) ์„œ๋ฒ„(Server)

: ์›น์—์„œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ. ์ฃผ๋กœ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ํฌํ„ธ ์‚ฌ์ดํŠธ๋ฅผ ์ด์šฉํ•˜๊ณ , ํ•„์š”ํ•œ ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•˜๊ธฐ ์œ„ํ•ด ์‡ผํ•‘๋ชฐ์„ ์ด์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋Ÿฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์— ํŒŒ์ผ์˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

2) ์›น ์„œ๋ฒ„ (Web Server)

: ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ HTTP๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ฐ›๊ฑฐ๋‚˜, ์›น ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ „๋‹ฌํ•ด์ค€ ๊ฒฐ๊ณผ๋ฌผ์„ ์ •์ ์ธ ํŽ˜์ด์ง€๋กœ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘๋‹ตํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งํ•œ๋‹ค. ์›น ํŽ˜์ด์ง€๋Š” ์ฃผ๋กœ HTML, CSS, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

3) ์›น ์ปจํ…Œ์ด๋„ˆ (Web Container)

: ์›น ์„œ๋ฒ„๊ฐ€ ์ „์†กํ•ด์ค€ ์š”์ฒญ์„ ๊ธฐ์ดˆ๋กœ ๋™์ ์ธ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์›น ์„œ๋ฒ„๋กœ ๋Œ๋ ค์ค€๋‹ค. (๋™์ ์ธ ํŽ˜์ด์ง€>> ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค.) ๊ฐ„๋‹จํ•œ ์˜ˆ๋กœ ๋กœ๊ทธ์ธ์ด ์žˆ๋‹ค. (๋กœ๊ทธ์ธํ•œ ์•„์ด๋””๋ฅผ ๋ณด๊ณ  ๊ฐ์ž์— ๋งž๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•ด ๋ณด๋‚ด์ฃผ๋Š” ๊ฒƒ)

4) WAS (Web Application Server)

: ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ, ์ปดํ“จํ„ฐ์—์„œ ์šด์˜์ฒด์ œ(์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค ๋“ฑ)์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. (์›น ์„œ๋ฒ„์™€ ์›น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํฌํ•จํ•œ ๊ฐœ๋…) (ex. ํ†ฐ์บฃ, ์›น๋กœ์ง, ์›น์Šคํ”ผ์–ด ๋“ฑ)

5) HTTP(HyperText Transfer Protocol)/ HTTPS (HTTP Secure)

: ๋ณดํ†ต www๋ผ๊ณ  ์ค„์—ฌ ์“ฐ๋Š” ์›”๋“œ์™€์ด๋“œ์›น์—์„œ ์›น ์„œ๋ฒ„์™€ ์‚ฌ์šฉ์ž ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ. ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•˜๋ฉด ์›น ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜๋Š” ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์˜ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. (HTTPS๋Š” ์•”ํ˜ธํ™”๋œ HTTP)

- Client : ์›๊ฒฉ์ง€์— ์žˆ๋Š” ์„œ๋ฒ„์— ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ์—ญํ•  (request)

- Server : ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญํ•œ ์„œ๋น„์Šค๋ฅผ ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•˜๋Š” ์—ญํ•  (response)

- Stateless ์ƒํƒœ: ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์žˆ์ง€ ์•Š์Œ.

6) ํ”„๋กœํ† ์ฝœ (Protocol)

:  ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ๋“ค์ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์ ˆ์ฐจ ํ˜น์€ ํ†ต์‹  ๊ทœ์•ฝ. ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋“ค์ด ๋Œ€ํ™”ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ณตํ†ต ์–ธ์–ด ์—ญํ• . (ex. HTTP, FTF(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol) ๋“ฑ)

7) ํฌํŠธ (Port)

: ์ปดํ“จํ„ฐ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ†ต๋กœ. 

์ธํ„ฐ๋„ท์—์„œ๋Š” IP ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์˜ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. >> ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ ์ปดํ“จํ„ฐ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํŠน์ • ์„œ๋น„์Šค๋Š” ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ธํ„ฐ๋„ท์ƒ์˜ ๋ชจ๋“  ์„œ๋น„์Šค๋Š” IP ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ํฌํŠธ ๋ฒˆํ˜ธ๊นŒ์ง€ ์ง€์ •ํ•ด์•ผ ์ œ๋Œ€๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

(HTTP๋Š” 80๋ฒˆ ํฌํŠธ, HTTPS๋Š” 443๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉ)

8) ์›น ๋ธŒ๋ผ์šฐ์ € (Web Browser)

: ์›น ๊ธฐ๋ฐ˜์˜ ์„œ๋น„์Šค๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ (์ต์Šคํ”Œ๋กœ๋Ÿฌ๋‚˜ ๋„ท์Šค์ผ€์ดํ”„)

 

 

๐Ÿƒ๐Ÿป‍โ™‚๏ธ ์ •์  ์›น ํŽ˜์ด์ง€์™€ ๋™์  ์›น ํŽ˜์ด์ง€

1) ์ •์  ์›น ํŽ˜์ด์ง€ : ์›น ์„œ๋ฒ„์— '์ €์žฅ๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ' ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ „์†กํ•ด ์ถœ๋ ฅํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์›น ํŽ˜์ด์ง€. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ํ˜•ํƒœ๋กœ ์š”์ฒญํ•˜๋”๋ผ๋„ ๊ฐ™์€ ํŽ˜์ด์ง€๋Š” ํ•ญ์ƒ ๋™์ผํ•œ ๋ชจ์Šต์„ ๋ณด์—ฌ์ค€๋‹ค.

2) ๋™์  ์›น ํŽ˜์ด์ง€ : ๋™์ผํ•œ ํŽ˜์ด์ง€๋ผ ํ• ์ง€๋ผ๋„ ๊ทธ๋•Œ๊ทธ๋•Œ ๋‚ด์šฉ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋Š” ์›น ํŽ˜์ด์ง€. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ํ•ด์„ํ•˜์—ฌ ๊ฐ€์žฅ ์ ์ ˆํ•œ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋•Œ๊ทธ๋•Œ ์ƒ์„ฑํ•ด ๋ณด๋‚ด์ฃผ๋Š” ๊ธฐ์ˆ . ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญํ•œ ๊ณ„์ •, ์‹œ๊ฐ„, ์ง€์—ญ, ์–ธ์–ด, ๊ธฐํƒ€ ์ž…๋ ฅ๊ฐ’์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๋Š”๋‹ค. >> ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์ณ ์‘๋‹ต ํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. (๊ธฐ์ˆ  : JSP, ์„œ๋ธ”๋ฆฟ, ASP, PHP ๋“ฑ)

 

** ์ž๋ฐ” ์• ํ”Œ๋ฆฟ (Java Applet) : ์›น์—์„œ ์‹คํ–‰๋˜๋„๋ก ์„ค๊ณ„๋œ ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ต์งธ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „์†กํ•œ ํ›„, ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์„ ํƒ‘์žฌํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋™๋œ๋‹ค. 

>> ์„œ๋ธ”๋ฆฟ ๋“ฑ์žฅ ~~~~!

 

 

** ๐Ÿ”ท ์„œ๋ธ”๋ฆฟ (Servlet)

: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•œ ํ›„, ์‘๋‹ต์œผ๋กœ๋Š” ๊ฒฐ๊ด๊ฐ’๋งŒ ๋ณด๋‚ด์ฃผ๋Š” ๊ตฌ์กฐ. ์ž๋ฐ” ํŒŒ์ผ(.java)์„ ์ปดํŒŒ์ผํ•œ ํด๋ž˜์Šค ํŒŒ์ผ(.class) ํ˜•ํƒœ.

(์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ : ์ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๋Ÿฐํƒ€์ž„. ex. ์•„ํŒŒ์น˜ ํ†ฐ์บฃ)

 

์›น ๋ธŒ๋ผ์šฐ์ € 
(ํด๋ผ์ด์–ธํŠธ)






  WAS
1) ์š”์ฒญ >>>>>>>>>>>>>>>>>>>>>>>> ์›น ์„œ๋ฒ„
โฌ†        โฌ‡ 2)
<<<<<<<<<<<<<<<<<<<<<<<<<3) ์‘๋‹ต
  ์›น ์ปจํ…Œ์ด๋„ˆ (์„œ๋ธ”๋ฆฟ +JSP ์—”์ง„)
  .jsp ๋ณ€ํ™˜
  .java ์ปดํŒŒ์ผ
  .class (์„œ๋ธ”๋ฆฟ)
** JSP ํŒŒ์ผ์„ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์„œ๋ธ”๋ฆฟ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹! ํ•œ ๋ฒˆ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ปดํŒŒ์ผ๋œ JSP ํŒŒ์ผ์€ ์บ์‹œ๋˜๋ฏ€๋กœ ์‹ค์งˆ์ ์ธ ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ํŽธ์˜์„ฑ์„ ๋ชจ๋‘ ์–ป๋Š”๋‹ค. 
์„œ๋ธ”๋ฆฟ JSP
UI ์š”์†Œ๊ฐ€ ์—†๋Š” ์ œ์–ด๋‚˜ ๊ธฐํƒ€ ์ฒ˜๋ฆฌ ์šฉ๋„๋กœ ์“ฐ์ธ๋‹ค.  ํด๋ผ์ด์–ธํŠธ์— ๋ณด์—ฌ์ง€๋Š” ๊ฒฐ๊ณผ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ฃผ๋กœ ์“ฐ์ธ๋‹ค. 
์ž๋ฐ” ์ฝ”๋“œ ์•ˆ์—์„œ ์ „์ฒด HTML ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. HTML ์ฝ”๋“œ ์•ˆ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์Šคํฌ๋ฆฝํŠธ ํ˜•ํƒœ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.
๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”๊ฐ€ ๋ฐ˜๋“œ์‹œ ์„ ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค. ์ž์ฃผ ์“ฐ์ด๋Š” ๊ธฐ๋Šฅ์„ ๋‚ด์žฅ ๊ฐ์ฒด๋กœ ์ œ๊ณตํ•˜์—ฌ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋ทฐ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. 

 

์ •์  ์›น ํŽ˜์ด์ง€์™€ ๋™์  ์›น ํŽ˜์ด์ง€๊ฐ€ ํ˜ผํ•ฉ๋œ ํ˜•ํƒœ.

728x90