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

๋ชฉ๋กfull stack/Back-End (19)

JiYoung Dev ๐Ÿ–ฅ

[JSP/Servlet] Web MVC (2023.05.19)

๐ŸŽˆ ๋””์ž์ธ ํŒจํ„ด(Design Pattern) ์˜์‚ฌ์†Œํ†ต ์ˆ˜๋‹จ์˜ ์ผ์ข… ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ์—์„œ ํŠน์ • ๋ฌธ๋งฅ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ์ฑ… ์†Œ์Šค๋‚˜ ๊ธฐ๊ณ„ ์ฝ”๋“œ๋กœ ๋ฐ”๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๋Š” ์™„์„ฑ๋œ ๋””์ž์ธ์€ ์•„๋‹ˆ๋ฉฐ ๋‹ค๋ฅธ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ์— ์“ฐ์ด๋Š” ํ…œํ”Œ๋ฆฟ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์‹œ์Šคํ…œ์„ ๋””์ž์ธํ•  ๋•Œ ๊ณตํ†ต๋œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ์— ์“ฐ์ด๋Š” ํ˜•์‹ํ™”๋œ ๊ด€ํ–‰ ๐ŸŽˆ ์›น ๋””์ž์ธ ํŒจํ„ด ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ๊ณผ ์œ ์ง€๋ณด์ˆ˜์˜ ํŽธ๋ฆฌ์„ฑ์„ ์œ„ํ•ด์„œ ์ •ํ•ด์ง„ ์•ฝ์†๋Œ€๋กœ ๊ตฌ์กฐ๋ฅผ ๋””์ž์ธ ํ•˜๋Š” ๊ฒƒ Spring ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” MVC ํŒจํ„ด์ด ๊ธฐ๋ณธ ๐ŸŽˆ MVCํŒจํ„ด ๐Ÿ“– ์›น MVC ํŒจํ„ด 2๊ฐ€์ง€ โš™๏ธ Model1 view, controller ๋ชจ๋‘ jsp์—์„œ ์ž‘์„ฑ โš™๏ธ Model2 view๋Š” jsp (htm..

full stack/Back-End 2023. 5. 19. 14:51
[JSP/Servlet] JSP ๋‚ด์žฅ๊ฐ์ฒด(HttpServletResponse) & ์ฟ ํ‚ค(Cookie) (2023.05.17)

๐ŸŽˆ JSP ๋‚ด์žฅ๊ฐ์ฒด - HttpServletResponse ๐Ÿ“– sendRedirect() ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ) ์ฃผ์†Œ์ฐฝ์— ์ž‘์„ฑ๋œ ๊ฒฝ๋กœ >> ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ ๊ทธ ๊ฒฝ๋กœ์— ์ง์ ‘ ์š”์ฒญ์„ ํ–ˆ๋‹ค! ๋ผ๋Š” ์˜๋ฏธ ์šฐ๋ฆฌ๋Š” Ex03redirect๋กœ ์š”์ฒญํ•จ ์ตœ์ข… ์ฃผ์†Œ์ฐฝ์—๋Š” Ex03createInput.html์ด ๋œธ ์ฆ‰, ์ตœ์ข…์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ Ex03createInput.html์— ์š”์ฒญ!! โš™๏ธ sendRedirect์˜ ํ”„๋กœ์„ธ์Šค ์„œ๋ฒ„๋Š” ์–ด๋””๋กœ ์š”์ฒญํ•ด์•ผํ•˜๋Š”์ง€ ๊ฒฝ๋กœ๋ฅผ ์‘๋‹ต ํด๋ผ์ด์–ธํŠธ๋Š” ์‘๋‹ต๋ฐ›์€ ๊ฒฝ๋กœ๋กœ ์š”์ฒญ ์š”์ฒญ๊ณผ ์‘๋‹ต์ด 2๋ฒˆ์”ฉ ์ผ์–ด๋‚จ!โœจโœจ ์š”์ฒญ์€ request๊ฐ์ฒด๋ฅผ ๊ฐ€์ง€๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅ 1๋ฒˆ์—์„œ ์‚ฌ์šฉํ•œ request๊ฐ์ฒด์™€ 3๋ฒˆ์—์„œ ์‚ฌ์šฉํ•œ request๊ฐ์ฒด๋Š” ์ด๋ฆ„๋งŒ ๊ฐ™์„ ๋ฟ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด์ž„ ์ด ๋‘˜์€ ์„œ๋กœ ๊ฐ’(๋ฐ์ดํ„ฐ)..

full stack/Back-End 2023. 5. 19. 09:39
[JSP/Servlet] ์„ธ์…˜(session) (2023.05.18)

Session ๐ŸŽˆ ์„ธ์…˜(Session) ํด๋ผ์ด์–ธํŠธ๋Š” ์„ธ์…˜์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๊ฐ€ ์•„๋‹Œ ์„ธ์…˜ ์•„์ด๋””๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Œ. ์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์Œ. (๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ์ „๊นŒ์ง€) - ์„ธ์…˜ ์•„์ด๋”” : ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ž„์˜์ ์œผ๋กœ ๋ฐœ๊ธ‰ํ•˜๋Š” ์•„์ด๋””. ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๋งˆ๋‹ค ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ฐœ๊ธ‰ํ•จ ์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋Š” ์„œ๋ฒ„์—์„œ ์ €์žฅ, ํด๋ผ์ด์–ธํŠธ๋Š” ์„ธ์…˜ ์•„์ด๋””๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒŒ๋จ ์„ธ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋Š” ์„œ๋ฒ„์ƒ์—์„œ๋งŒ ์ €์žฅ๋˜๋ฏ€๋กœ ์ฟ ํ‚ค์— ๋น„ํ•ด ๋ณด์•ˆ์ƒ ์ข‹์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์„ธ์…˜ ์•„์ด๋””๋Š” ํด๋ผ์ด์–ธํŠธ ํ•˜๋‚˜๋งŒ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ. ์„ธ์…˜์•„์ด๋””๊ฐ€ ๋„˜๊ฒจ์ง€๋Š” ๊ณผ์ •์„ ๋ณด๋‹ค๊ฐ€ ๊ณต๊ฒฉ์„ ํ•  ์ˆ˜ ๋„ ์žˆ์Œ ์™„์ „ํ•˜๊ฒŒ ๋ณด์•ˆ์ƒ์œผ๋กœ ์ข‹๋‹ค๊ณ  ํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์ฟ ํ‚ค๋ณด๋‹ค๋Š” ์ข‹์„ ์ˆ˜ ์žˆ์Œ ๐Ÿ“– ์„ธ์…˜ ์‚ฌ..

full stack/Back-End 2023. 5. 19. 09:39
[JSP/Servlet] ์„ ์–ธ๋ฌธ, ์ง€์‹œ์ž, ๋‚ด์žฅ๊ฐ์ฒด (2023.05.16)

๐ŸŽˆ ์„ ์–ธ๋ฌธ(Declaration) ์„ ์–ธ๋ฌธ ๋‚ด ์ž‘์„ฑํ•œ ๋ณ€์ˆ˜ - ์œ„์น˜๋Š” ํด๋ž˜์Šค ๋ฐ”๋กœ ๋ฐ‘์— (์ „์—ญ๋ณ€์ˆ˜) ์Šคํฌ๋ฆฝํŠธ๋ฆฟ ๋‚ด ์ž‘์„ฑํ•œ ๋ณ€์ˆ˜ - service ๋ฉ”์„œ๋“œ ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ (์ง€์—ญ๋ณ€์ˆ˜) ๐ŸŽˆ ์ง€์‹œ์ž(Directive) ๐Ÿ“– Page ์ง€์‹œ์ž ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฑธ ์ปดํ“จํ„ฐ์—๊ฒŒ ์‹œํ‚ค๋ฉด? ERROR ๋ฐœ์ƒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ํŠน์ • ํŽ˜์ด์ง€ ์—ฐ๊ฒฐ๋˜๋„๋ก! ํ˜„์žฌํŽ˜์ด์ง€ errorPage="์˜ค๋ฅ˜๋ฐœ์ƒ์‹œ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€" ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ๋ณด์—ฌ์ค„ ํŽ˜์ด์ง€ isErrorPage="true" ์„œ๋ฒ„ ์˜ค๋ฅ˜๋ฅผ ์ ๊ฒ€์ค‘์ž…๋‹ˆ๋‹ค ๐Ÿ“– Include ์ง€์‹œ์ž ๋ฉ”์ธํŽ˜์ด์ง€ ์„œ๋ธŒ ํŽ˜์ด์ง€๋กœ ์ด๋™ ๐Ÿ“– Taglib ์ง€์‹œ์ž ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ ๋‹ค์ด๋‚˜๋ฏน ์›นํ”„๋กœ์ ํŠธ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•  ๋•Œ WEB-INF > lib ํด๋” ๋‚ด์— ์‚ฝ์ž… > ๋ณด์•ˆ์ƒ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์“ฐ๋ฉด ์•ˆ๋จ! ์ž๋ฐ” ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋์„ ๋•Œ๊นŒ์ง€ ํ™•์ธ ๊ฐ€๋Šฅ..

full stack/Back-End 2023. 5. 16. 20:01
[JSP/Servlet] JSP ํ•„์š”์„ฑ๊ณผ ํŠน์ง•, ๊ตฌ์„ฑ์š”์†Œ (2023.05.15)

๐ŸŽˆ JSP(JavaServer Pages) ๊ฐœ์š” ๐Ÿ“– JSP๋ž€? HTML ์ฝ”๋“œ์— JAVA ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋™์  ์›นํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์›น์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๊ตฌ Java ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Server Side ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ์–ธ์–ด์˜ ์ข…๋ฅ˜ ์ปดํŒŒ์ผ ์–ธ์–ด - ex. Java - ๋ฒˆ์—ญ์˜ ๋Š๋‚Œ - ์ฝ”๋“œ๋ฅผ ํ•œ๋ฒˆ์— ํ•ด์„ํ•ด์„œ ๋‚˜์ค‘์—๋Š” ์‹คํ–‰๋งŒ - ํ•ด์„์€ ์˜ค๋ž˜๊ฑธ๋ฆฌ์ง€๋งŒ ์‹คํ–‰์€ ๋น ๋ฅด๋‹ค ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด(Python)ํ†ต์—ญ - ํ•œ ์ค„์”ฉ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด(JavaScript, JSP)์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์— ์†ํ•จํ•œ ์ค„์”ฉ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์„ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉ ๐Ÿ“– JSP๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  โš™ Servlet์˜ ํŠน์ง• ํ•œ ํด๋ž˜์Šค ๋‚ด์— Business Logic๊ณผ Presentation Logic์ด ๊ฐ™์ด ์ž‘์„ฑ๋จ (B..

full stack/Back-End 2023. 5. 15. 17:15
[JSP/Servlet] ๋ฐ์ดํ„ฐ ์ „์†ก GET/POST(2023.05.12)

Quiz. ์ด์ƒํ•œ ์  ์ฐพ์•„๋ณด๊ธฐ ์ฃผ์†Œ์ฐฝ์— ํŒจ์Šค์›Œ๋“œ๊ฐ€ ๋…ธ์ถœ๋จ ์›์ธ : get ๋ฉ”์„œ๋“œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ. get ๋ฉ”์„œ๋“œ ๋ฐฉ์‹์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์ด ์ฃผ์†Œ์ฐฝ์— ๋…ธ์ถœ๋จ ๐ŸŽˆ HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ ์›น ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ์„œ๋น„์Šค ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ์ง€์ • ์œ„์˜ ์š”์ฒญ ๋ฉ”์„œ๋“œ ์˜ˆ์‹œ๋Š” ์•ฝ์†์˜ ๋Š๋‚Œ์œผ๋กœ ๊ผญ ์œ„์˜ ๊ฒƒ์„ ๊ผญ ๋”ฐ๋ผ์•ผํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋“ค ๊ฐ„์˜ ๊ทœ์น™๊ณผ ๊ฐ™์Œ ๊ธฐ๋Šฅ๋“ค์ด ํŠน์ • ์š”์ฒญ์— ํ•œ์ •๋˜์–ด ์žˆ์ง„ ์•Š์ง€๋งŒ ๋ฌด์—‡์„ ์š”์ฒญํ•˜๋Š”์ง€ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ์œ„ํ•ด ์œ„์™€ ๊ฐ™์ด ๊ตฌ๋ถ„ํ•˜์—ฌ ์‚ฌ์šฉํ•จ ์ฝ์–ด๋ณด๊ธฐ! REST API ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ : NHN Cloud Meetup REST API ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ meetup.nhncloud.com ๐Ÿ“– GET โš™ URI / URL ํŒจํ‚ท(packet) ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†กํ•˜๊ธฐ ์‰ฝ๋„..

full stack/Back-End 2023. 5. 12. 18:23
[JSP/Servlet] Server์™€ Servlet ๊ฐœ์š” (2023.05.09)

WWW = World Wide Web ์ธํ„ฐ๋„ท์ƒ์—์„œ ํ•˜์ดํผํ…์ŠคํŠธ ๋ฐฉ์‹์œผ๋กœ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ •๋ณด๋ฅผ ์ œ๊ณต internet = inter + network ์ „์„ธ๊ณ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹ ๋ง WEB & HTML ์ •์˜์™€ ์—ญ์‚ฌ / HTML ํƒœ๊ทธ (2023.04.21) ๐ŸŽˆ์ธํ„ฐ๋„ท(Internet) ์—ฌ๋Ÿฌ ํ†ต์‹ ๋ง์„ ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค๋Š” ์˜๋ฏธ์ธ '์ธํ„ฐ ๋„คํŠธ์›Œํฌ(inter-network)'์˜ ๋ง์—์„œ ์‹œ์ž‘ ์ „ ์„ธ๊ณ„ ์ปดํ“จํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฑฐ๋Œ€ํ•œ ์ปดํ“จํ„ฐ ํ†ต์‹ ๋ง https://www.huffingtonpost.kr/news/article danyoujeong.tistory.com ๐ŸŽˆ ๋„คํŠธ์›Œํฌ(network)๋ž€ ๋ฌด์—‡์ผ๊นŒ? network = net + work ๊ทธ๋ฌผ์ฒ˜๋Ÿผ ์„œ๋กœ ์—ฎ์–ด์„œ ์ผํ•˜๋Š” ๊ฒƒ ํ†ต์‹  ์žฅ๋น„๋“ค์ด ๊ทธ๋ฌผ๋ง์ฒ˜๋Ÿผ ์—ฐ๊ฒฐ๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ํ˜•ํƒœ..

full stack/Back-End 2023. 5. 9. 21:07