Java๐Ÿ”ฅ

[JSP] JSP์˜ ๊ธฐ๋ณธ์ƒ์‹

hae02y 2020. 4. 22. 15:30
๋ฐ˜์‘ํ˜•

 


1. ์ •์  ์›นํŽ˜์ด์ง€์™€ ๋™์ ์›นํŽ˜์ด์ง€

์›นํŽ˜์ด์ง€๋Š” ์ •์ (static)ํŽ˜์ด์ง€์™€ ๋™์ (dynamic)ํŽ˜์ด์ง€๋กœ ๋‚˜๋ˆ„์–ด ์ง„๋‹ค.

์ •์ ํŽ˜์ด์ง€๋Š” ์ปดํ“จํ„ฐ์— ์ €์žฅ๋œ ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณด๋Š”๊ฒƒ. ->HTML๋กœ ์ž‘์„ฑ

๋™์ ํŽ˜์ด์ง€๋Š” ์ €์žฅ๋œ ๋‚ด์šฉ์„ ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋กœ ๊ฐ€๊ณต ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ณด๋Š”๊ฒƒ. ->PHP, ASP, JSP๋“ฑ์œผ๋กœ ์ž‘์„ฑ

 


2. JSP์˜ ํŠน์ง•

-์„œ๋ธ”๋ฆฟ ๊ธฐ์ˆ ์˜ ํ™•์žฅ์ด๋‹ค.

์„œ๋ธ”๋ฆฟ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ JDBC,JBDI,EJB๋“ฑ์„ ๋ชจ๋‘ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ž๋ฐ” API๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋‹ค. ๋˜ํ•œ ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ• ์ˆ˜ ์žˆ๋„๋ก JSP์—์„œ๋Š” ๋‚ด์žฅ ๊ฐ์ฒด, ๋ฏธ๋ฆฌ ์ •์˜๋œ ํƒœ๊ทธ, ํ‘œํ˜„์‹ ์–ธ์–ด์™€ ์‚ฌ์šฉ์ž ์ •์˜ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋‹ค.

 

-JSP๋Š” ์œ ์ง€๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•จ.

์„œ๋ธ”๋ฆฟ ๊ธฐ์ˆ ์—์„œ๋Š” ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋กœ์ง๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์„ž์—ฌ์žˆ์ง€๋งŒ JSP ๊ธฐ์ˆ ์˜ ๊ฒฝ์šฐ ํ”„๋ ˆ์  ํ…Œ์ด์…˜๋กœ์ง๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋ถ„๋ฆฌํ• ์ˆ˜์žˆ๋‹ค.

 

-JSP๋Š” ๋น ๋ฅธ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ์„œ๋ธ”๋ฆฟ์—์„œ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๊ณ  ๋‹ค์‹œ ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ JSP์˜ ๊ฒฝ์šฐ ๋‹ค์‹œ ์ปดํŒŒ์ผ ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

-JSP๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด ์ฝ”๋“œ ๊ธธ์ด๋ฅผ ์ค„์ผ์ˆ˜์žˆ๋‹ค.

JSP์—์„œ๋Š” ์•ก์…˜ํƒœ๊ทธ,JSTL,์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ํƒœ๊ทธ์™€ ํ‘œํ˜„์–ธ์–ด, ๋‚ด์žฅ๊ฐ์ฒด ๋“ฑ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์„œ๋ธ”๋ฆฟ๋ณด๋‹ค ์ฝ”๋“œ๋ฅผ ์ค„์ผ์ˆ˜ ์žˆ๋‹ค.

 


3. JSP์˜ ์ฒ˜๋ฆฌ๊ณผ์ •

JSP์˜ ์ฒ˜๋ฆฌ๊ณผ์ • ๊ทธ๋ฆผ(์ถœ์ฒ˜:/animal-park.tistory.com)

1) ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น์„œ๋ฒ„์— JSP๋ฅผ ์š”์ฒญ

2) JSP์ปจํ…Œ์ด๋„ˆ๋Š” JSPํŽ˜์ด์ง€๋ฅผ ์„œ๋ธ”๋ฆฟ ํ”„๋กœ๊ทธ๋žจ์ธ .java๋กœ ๋ณ€ํ™˜

3) JSP์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์„œ๋ธ”๋ฆฟ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผ ํ•˜์—ฌ .class๋กœ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ ์›น์„œ๋ฒ„์— ์ „๋‹ฌ

4) ์›น์„œ๋ฒ„๋Š” ์ •์  ์›นํŽ˜์ด์ง€ ์ฒ˜๋Ÿผ *.class์˜ ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ์›น๋ธŒ๋ผ์šฐ์ €์— ์‘๋‹ต์œผ๋กœ ์ „๋‹ฌ

5) ์›น๋ธŒ๋ผ์šฐ์ €๋Š” ์ƒˆ๋กœ๊ฐ€๊ณต๋œ HTMLํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์คŒ

 


4. JSP์˜ ์ƒ๋ช…์ฃผ๊ธฐ 

1. ๋ฒˆ์—ญ(translation)๋‹จ๊ณ„

- JSP ์ปจํ…Œ์ด๋„ˆ๊ฐ€ JSP ์†Œ์ŠคํŒŒ์ผ์„ ์ž๋ฐ”์ฝ”๋“œ๋กœ ๋ณ€ํ™˜( .jsp -> .java)

- ๋ฒˆ์—ญ๋‹จ๊ณ„์—์„œ JSP ์ปจํ…Œ์ด๋„ˆ๋Š” JSPํŒŒ์ผ์„ ์ฝ๊ณ  ๊ตฌ๋ฌธ์„ ๋ถ„์„ํ•จ

 

2. ์ปดํŒŒ์ผ(compilation) ๋‹จ๊ณ„

- JSP ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ž๋ฐ”์ฝ”๋“œ(์„œ๋ธ”๋ฆฟ)์„ ์ปดํŒŒ์ผํ•˜์—ฌ ํด๋ž˜์ŠคํŒŒ์ผ ์ƒ์„ฑ( .java -> .class)

- ์ปดํŒŒ์ผ๋‹จ๊ณ„์—์„œ๋Š” ์ž๋ฐ”์˜ ๋ชจ๋“  ๊ตฌ๋ฌธ์„ ๊ฒ€์‚ฌํ•จ

 

3. ๋กœ๋”ฉ(loading) ๋ฐ ์ดˆ๊ธฐํ™”(initialization)๋‹จ๊ณ„

- *.class๋ฅผ ๋กœ๋”ฉํ•˜๊ณ  ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ž‘์„ฑ, ์ด๋•Œ ์ธ์ˆ˜๊ฐ€ ์—†๋Š” ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉ

- JSP ์ปจํ…Œ์ด๋„ˆ๋Š” init() ๋ฉ”์†Œ๋“œ, jspInit()์„ ํ˜ธ์ถœํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋œ ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”

- ์ดˆ๊ธฐํ™”๋Š” ํ•œ๋ฒˆ๋งŒ ์ˆ˜ํ–‰๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ํŒŒ์ผ์—ด๊ธฐ , ๋ฃฉ์—…ํ…Œ์ด๋ธ” ๋“ฑ์„ ์ƒ์„ฑ, ์ดˆ๊ธฐํ™”

 

4. ์‹คํ–‰(execution)๋‹จ๊ณ„

- JSP ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ ๋ฐ ์‘๋‹ต ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•˜๋Š” _jspService() ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰

- ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•˜์—ฌ ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋”ฉ,์ดˆ๊ธฐํ™” ๋ ๋•Œ๋งˆ๋‹ค _jspService() ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœ(์‘๋‹ต๊ฐ์ฒด์ „๋‹ฌ)

- JSP ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๋๋‚ ๋•Œ๊นŒ์ง€ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋Œ€ํ•ด ์ƒํ˜ธ์ž‘์šฉ

 

5. ์†Œ๋ฉธ(destruction)๋‹จ๊ณ„

- JSP ์ƒ๋ช…์ฃผ๊ธฐ์˜ ์™„๋ฃŒ

- JSP ์ปจํ…Œ์ด๋„ˆ๋Š” ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” JSP๋ฅผ jspDestroy() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๊ฑฐ

- Destroy() ๋ฉ”์†Œ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ์—ฐ๊ฒฐํ•ด์ œ ์—ญํ• 

 


 

๋ฐ˜์‘ํ˜•