๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (105)

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Spring] IoC

โญ IoC (Inversion of Control) ์ œ์–ด์˜ ์—ญ์ „ ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” Object(Bean) ์˜ ์ƒ์„ฑ๊ณผ ์˜์กด ๊ด€๊ณ„ ์„ค์ •, ์‚ฌ์šฉ, ์ œ๊ฑฐ ๋“ฑ์˜ ์ž‘์—…์„ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‹ด๋‹นํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ Object์— ๋Œ€ํ•œ ์ œ์–ด๊ถŒ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ํ•ด์„œ IOC๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๋ฅผ IOC ์ปจํ…Œ์ด๋„ˆ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ฆ‰, ์ œ์–ด์˜ ํ๋ฆ„์„ ๋ฐ”๊พผ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€๊ฐœ๋ฐœ์ž๊ฐ€ class๋ฅผ ์ƒ์„ฑํ•˜๋ฉด new๋ฅผ ํ†ตํ•ด์„œ ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œํ›„ ์‚ฌ์šฉํ•˜์˜€์ง€๋งŒ ์‚ฌ์šฉ์ž์˜ ์ œ์–ด์—์„œ ๋ฒ—์–ด๋‚˜ Spring์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ณ  ๊ด€๋ฆฌ๋˜๋ฉฐ ์ด๋•Œ ์ƒ์„ฑ๋œ ์ž๋ฐ” ๊ฐ์ฒด๋Š” Bean์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด๋ฐฉ๋ฒ• Spring 1. ๊ฐ์ฒด ์ƒ์„ฑ 2. ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์˜์กด์„ฑ ๊ฐ์ฒด ์ƒ์„ฑ(new) 3. ์˜์กด์„ฑ ๊ฐ์ฒด ๋ฉ”์†Œ๋“œ ..

[Spring] Spring MVC ๊ตฌ์กฐ

๐ŸŒผ ์Šคํ”„๋ง ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ Frame(ํ‹€)์•ˆ์—์„œ work(๋™์ž‘)ํ•˜๋Š”๊ฒƒ์„ ๋œปํ•จ. ๊ฐœ๋ฐœํ• ๋•Œ ํ‹€์„ ๋ฒ—์–ด๋‚˜์ง€๋ง๊ณ  ํ‹€์•ˆ์—์„œ๋งŒ ๊ฐœ๋ฐœํ•˜๋Š”๊ฒƒ์— ์˜๋ฏธ๋ฅผ ๋‘  ๋™์ ์ธ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ตฌ์„ฑ์€ 20์—ฌ๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์ด๋Ÿฌํ•œ ๋ชจ๋“ˆ๋“ค์€ ์Šคํ”„๋ง์˜ ํ•ต์‹ฌ๊ธฐ๋Šฅ(DI, AOP, etc)์„ ์ œ๊ณตํ•ด์ฃผ๋ฉฐ, ํ•„์š”ํ•œ ๋ชจ๋“ˆ๋งŒ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉ๊ฐ€๋Šฅ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ชจ๋“ˆ์ด ์žˆ์ง€๋งŒ ๊ทธ์ค‘์—์„œ ๋‹จ์—ฐ ์Šคํ”„๋ง๋ถ™, ์Šคํ”„๋ง ํด๋ผ์šฐ๋“œ, ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ, ์Šคํ”„๋ง ๋ฐฐ์น˜, ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์— ์ค‘์ ์„ ๋‘  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ๊ฒฐ์ •ํ•˜์ง€๋งŒ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ •ํ•ด์ง„ ํ๋ฆ„์— ๋งž๊ฒŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•œ๋‹ค. ๐ŸŒท Spring MVC ๊ตฌ์กฐ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋Š” MVC ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. MVC = Model - View - ..

[Spring] Forward, Redirect, Session

โญ Forward vs Redirect JSP ํ™˜๊ฒฝ์—์„œ ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ํŽ˜์ด์ง€ ์ „ํ™˜ ๊ธฐ๋Šฅ forward ์„ค๋ช… ๊ณ ๊ฐ์ด ๊ณ ๊ฐ์„ผํ„ฐ๋กœ 123๋ฒˆ์œผ๋กœ ์ „ํ™”๋ฅผ ๊ฑด๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ 123๋ฒˆ์— ํ• ๋‹น๋œ ์ƒ๋‹ด์›1์ด ๋ฐ›๋Š”๋‹ค. ๊ณ ๊ฐ์˜ ์š”์ฒญ์‚ฌํ•ญ์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. ์ƒ๋‹ด์›1์˜ ๋‹ด๋‹น ์—…๋ฌด๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ํ•ด๋‹น ์—…๋ฌด์— ๋‹ด๋‹น์ž์ธ ์ƒ๋‹ด์›2์—๊ฒŒ ๊ณ ๊ฐ ์š”์ฒญ์‚ฌํ•ญ ๋ฉ”๋ชจ์ง€์™€ ํ•จ๊ป˜ ์ „ํ™”๋ฅผ ๋Œ๋ฆฐ๋‹ค. ๊ณ ๊ฐ์˜ ์š”์ฒญ์‚ฌํ•ญ (request) ์žฌ์‚ฌ์šฉ ๊ณ ๊ฐ์€ ๋‹ค์‹œ ์š”์ฒญ์‚ฌํ•ญ ์ด์•ผ๊ธฐํ•  ํ•„์š” ์—†์Œ ์ƒ๋‹ด์›2์€ ๊ณ ๊ฐ์˜ ์š”์ฒญ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. ์„œ๋ฒ„ ์ž…์žฅ์—์„œ ํŽ˜์ด์ง€ ์ด๋™ ์ฆ‰, ์‹ค์ œ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์Œ ์›น ๋ธŒ๋ผ์šฐ์ €์—๋Š” ์ตœ์ดˆ ํ˜ธ์ถœํ•œ URL๋งŒ ํ‘œ์‹œ๋˜๊ณ  ์ด๋™ํ•œ ํŽ˜์ด์ง€์˜ URL ์ •๋ณด ์•Œ ์ˆ˜ ์—†์Œ ๋™์ผํ•œ ์„œ๋ฒ„์— ์žˆ๋Š” ํŽ˜์ด์ง€๋งŒ ์ด๋™ ..

[Java] Action Tag

โญAction Tag ์•ก์…˜ ํƒœ๊ทธ ์„œ๋ฒ„๋‚˜ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์–ด๋–ค ํ–‰๋™์„ ํ•˜๋„๋ก ๋ช…๋ นํ•˜๋Š” ํƒœ๊ทธ ๊ธฐ๋Šฅ JSP ํŽ˜์ด์ง€์—์„œ ํŽ˜์ด์ง€์™€ ํŽ˜์ด์ง€ ์‚ฌ์ด๋ฅผ ์ œ์–ด ๋‹ค๋ฅธ ํŽ˜์ด์ง€์˜ ์‹คํ–‰๊ฒฐ๊ณผ ๋‚ด์šฉ์„ ํ˜„์žฌ ํŽ˜์ด์ง€์— ํฌํ•จ ์ž๋ฐ” ๋นˆ์ฆˆ (JavaBeans) (์ž๋ฐ”๊ฐ์ฒด) ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ์ œ๊ณต ์ข…๋ฅ˜ Include ์—ฌ๋Ÿฌ jsp ํŽ˜์ด์ง€์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ํฌํ•จ ๋‚ด์šฉ(ex. header, footer)์ด ์žˆ์œผ๋ฉด ๋ณ„๋„ ํŒŒ์ผ ์ €์žฅํ•˜๊ณ  ํฌํ•จ ์†Œ์Šค์ฝ”๋“œ ์ž์ฒด๊ฐ€ ํฌํ•จ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜ ์ค‘๋ณต ์„ ์–ธ ๋ถˆ๊ฐ€ํ•จ. ์•„๋‹˜ ์—๋Ÿฌ๋ฐœ์ƒํ•จ. ๐Ÿ†š action tag๋ฅผ ํ†ตํ•ด ๋ณ„๋„ ํŒŒ์ผ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Œ ์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋งŒ ํฌํ•จ๋จ ํ•ด์„ํ•œ ๊ฒฐ๊ณผ๋งŒ ์ •์  ํ…์ŠคํŠธ๋กœ ์ „๋‹ฌํ•จ include์—๋Š” 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ์กด์žฌ include directive(์ง€์‹œ์–ด) ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ํฌํ•จ์‹œํ‚จ ํ›„์— ์ปดํŒŒ์ผ์„ ํ•œ..

[Java] JSP, Directive

JSP JSP(Java Server Page)๋Š” Servlet์˜ ํ™•์žฅ๋œ ๊ธฐ์ˆ ๋กœ ๋ธŒ๋ผ์šฐ์ €์— ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ HTML์ฝ”๋“œ์— JAVA ์ฝ”๋“œ๋ฅผ ํ˜ผ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์ด๋กœ์จ ๋””์ž์ธ๊ณผ ๋กœ์ง ๊ฐœ๋ฐœ์„ ๋ถ„์—…ํ™”์‹œ์ผœ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ƒ์‚ฐํ•ด ๋‚ผ ์ˆ˜ ์žˆ๊ฒŒํ•œ๋‹ค. JSP ๊ธฐ๋ณธ๋ฌธ๋ฒ• ๋ฐ ์šฉ์–ด -> ์ „์—ญ๋ณ€์ˆ˜, ํ•จ์ˆ˜ -> ์ฝ”๋”ฉ, ์ง€์—ญ๋ณ€์ˆ˜ ->๋ฌธ์ž์—ด, ๋ณ€์ˆ˜๊ฐ’, ํ•จ์ˆ˜๋ฆฌํ„ด๊ฐ’ ์ถœ๋ ฅ ๋Š” ํ•ด๋‹น jspํŽ˜์ด์ง€์—์„œ ์–ด๋–ค ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š”์ง€, ์–ด๋–ค ์ž๋ฐ” ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€, ์„ธ์…˜์— ์ฐธ์—ฌํ•˜๋Š”์ง€, ์ถœ๋ ฅ ๋ฒ„ํผ์˜ ์กด์žฌ์—ฌ๋ถ€๋“ฑ jspํŽ˜์ด์ง€๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. (ex) = exception์„ ํ•ธ๋“ค๋งํ•˜๊ธฐ์œ„ํ•ด ๋งŒ๋“  ์—๋ŸฌํŽ˜์ด์ง€์ด๋‹ค ๋ผ๊ณ  ์„ ์–ธ๋ฌธ. ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์—๋ŸฌํŽ˜์ด์ง€๋ผ๊ณ  ์„ ์–ธํ•˜๊ฒŒ ๋˜๋ฉด์€ exception๊ฐ์ฒด๊ฐ€ ์‚ด๊ณ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ exception...