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

Springboot8

[Spring] Spring MVC: HandlerAdapter ์„œ๋ก ์ง€๋‚œ ๊ธ€์—์„œ HandlerMapping์ด ์–ด๋– ํ•œ ์›๋ฆฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ฐพ์•„๋‚ด๋Š”์ง€์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ฐพ์€ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ฒŒ ๋˜๋Š”์ง€์— ๋Œ€ํ•ด ๊ธฐ์ˆ ํ•œ๋‹ค.HandlerAdapter (์š”๋ฆฌ ๋ณด์กฐ)HandlerAdapter๋Š” HandlerMapping์ด ์ฐพ์•„์ค€ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.์—ญํ• : HandlerMapping์ด ์ฐพ์•„์ค€ "ํŠน์ • ์š”๋ฆฌ์‚ฌ(ํ•ธ๋“ค๋Ÿฌ)๊ฐ€ ์‹ค์ œ๋กœ ์š”๋ฆฌ(์š”์ฒญ ์ฒ˜๋ฆฌ)๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก" ์˜†์—์„œ ๋•๊ณ , ์š”๋ฆฌ์‚ฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์„œ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜๊ฒจ์ค€๋‹ค.์„ค๋ช…: ์ฃผ๋ฌธ ์ ‘์ˆ˜์›(HandlerMapping)์ด "์Šคํ…Œ์ดํฌ" ์ฃผ๋ฌธ์„ '์Šคํ…Œ์ดํฌ ์ „๋ฌธ ์š”๋ฆฌ์‚ฌ'์—๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ณ  ์š”๋ฆฌ์‚ฌ๋Š” ์š”๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ์š”๋ฆฌ ๋ณด์กฐ(HandlerAdapter)๋Š” ์š”๋ฆฌ์‚ฌ์—๊ฒŒ ํ•„์š”ํ•œ ์žฌ๋ฃŒ๋ฅผ ์ค€๋น„ํ•ด ์ฃผ๊ณ , ์š”๋ฆฌ์‚ฌ๊ฐ€ ์š”๋ฆฌ๋ฅผ ๋งˆ์น˜.. 2025. 6. 1.
[Spring] Spring MVC: HandlerMapping ์„œ๋ก Spring MVC๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ณผ์ • ์ค‘, DispatcherServlet์ด ์ปจํŠธ๋กค๋Ÿฌ์— ์ ‘๊ทผํ•˜๋Š” ๊ณผ์ •์„ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. HandlerMapping์‹๋‹น์œผ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด์ž. ์†๋‹˜์€ ๋“ค์–ด์™€์„œ ๋‹ค์–‘ํ•œ ์ฃผ๋ฌธ์„ ํ•˜๊ณ  ํ•ด๋‹น ์ฃผ๋ฌธ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์—ˆ๋‹ค.์ฃผ๋ฌธ ์ ‘์ˆ˜์› (HandlerMapping)์ „๋ฌธ ์š”๋ฆฌ์‚ฌ (์ปจํŠธ๋กค๋Ÿฌ/ํ•ธ๋“ค๋Ÿฌ)HandlerMapping (์ฃผ๋ฌธ ์ ‘์ˆ˜์›)์—ญํ• : "์–ด๋–ค ์†๋‹˜(์š”์ฒญ)์˜ ์ฃผ๋ฌธ(URL)์ด ์–ด๋–ค ์š”๋ฆฌ์‚ฌ(์ปจํŠธ๋กค๋Ÿฌ)์—๊ฒŒ ๊ฐ€์•ผ ํ• ์ง€"๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ์—ฐ๊ฒฐํ•ด ์ค€๋‹ค.์„ค๋ช…: "์Šคํ…Œ์ดํฌ" ์ฃผ๋ฌธ์€ '์Šคํ…Œ์ดํฌ ์ „๋ฌธ ์š”๋ฆฌ์‚ฌ'์—๊ฒŒ, "ํŒŒ์Šคํƒ€" ์ฃผ๋ฌธ์€ 'ํŒŒ์Šคํƒ€ ์ „๋ฌธ ์š”๋ฆฌ์‚ฌ'์—๊ฒŒ ์ „๋‹ฌํ•ด์•ผ ํ•จ์„ ์ฃผ๋ฌธ ์ ‘์ˆ˜์›(HandlerMapping) ์ด ํŒŒ์•…ํ•˜๊ณ  ์—ฐ๊ฒฐํ•œ๋‹ค.==> HandlerMapping์€ ๋“ค.. 2025. 5. 31.
[Spring] Spring MVC: DispatcherServelt ์„œ๋ก ์ง€๋‚œ ๊ธ€์—์„œ Springboot์˜ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ•ด๋‹น ๋™์ž‘์›๋ฆฌ์—์„œ ํ•ต์‹ฌ์ด ๋˜๋Š” DispatcherServlet์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค.DispatcherServletDispatcherServlet์€ Spring MVC์—์„œ ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ(Front Controller) ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•ต์‹ฌ ์„œ๋ธ”๋ฆฟ์ด๋‹ค.HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ์ ์ ˆํ•œ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌํ•˜๊ณ , ์‘๋‹ต๊นŒ์ง€ ์ฒ˜๋ฆฌํ•˜๋Š” ์š”์ฒญ-์‘๋‹ต ํ๋ฆ„์˜ ์ค‘์‹ฌ ํ—ˆ๋ธŒ์ด๋‹ค. DispatcherServlet ์ •์˜javax.servlet.http.HttpServlet์„ ์ƒ์†ํ•œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ,๋ชจ๋“  HTTP ์š”์ฒญ์„ ๋ฐ›์•„ Spring ๋‚ด๋ถ€ ์ปดํฌ๋„ŒํŠธ์— ์œ„์ž„ํ•˜๊ณ , ์ตœ์ข… ์‘๋‹ต๊นŒ์ง€ ์ฑ…์ž„์ง„๋‹ค.web.xml ๋˜๋Š” Spring Boot์—์„œ๋Š” ์ž๋™ ์„ค์ •์„ ํ†ตํ•ด ๋“ฑ๋ก๋œ๋‹ค... 2025. 5. 30.
[Spring] Spring MVC Spring MVC๋ž€?Spring MVC๋Š” Spring Framework์—์„œ ์ œ๊ณตํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.์ „ํ†ต์ ์ธ Model-View-Controller ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์›น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋Š” ๊ตฌ์กฐ๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค.๋งŒ๋“ค์–ด์ง„ ๋ฐฐ๊ฒฝ์ž๋ฐ” ์ง„์˜์—์„œ๋Š” ์ดˆ์ฐฝ๊ธฐ์— JSP + Servlet ๊ธฐ๋ฐ˜์˜ ์›น ๊ฐœ๋ฐœ์ด ์ฃผ๋ฅผ ์ด๋ค˜์ง€๋งŒ, ์ฝ”๋“œ ๋ถ„๋ฆฌ์™€ ์žฌ์‚ฌ์šฉ์„ฑ, ํ…Œ์ŠคํŠธ ์–ด๋ ค์›€ ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.Spring Framework๋Š” IoC, DI ๋“ฑ์˜ ๊ฐœ๋…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฝ๋Ÿ‰ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋“ฑ์žฅํ–ˆ๊ณ , ๊ทธ ์•ˆ์— ์›น ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ๋กœ MVC ํŒจํ„ด์„ ์ ์šฉํ•œ Spring MVC๊ฐ€ ํฌํ•จ๋˜์—ˆ๋‹ค.๋ณต์žกํ•˜๊ณ  ๋ฌด๊ฑฐ์šด EJB ๋Œ€์‹  ๊ฐ€๋ณ๊ณ  ์œ ์—ฐํ•œ ์›น ๊ฐœ๋ฐœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์—ˆ๋‹ค.ํŠน์ง•DispatcherServlet ์ค‘์‹ฌ.. 2025. 5. 29.
[Spring Security] What is Spring Security? ์„œ๋ก Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ธ Spring Security๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ๋Œ์•„ ๊ฐ€๋Š”์ง€ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. ๊ฐœ๋…Spring ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋ณด์•ˆ ๊ธฐ๋Šฅ์ธ ์ธ์ฆ(Authentication)๊ณผ ์ธ๊ฐ€(Authorization)๋ฅผ ๋•๋Š” ํ”„๋ ˆ์ž„์›Œํฌํ•„ํ„ฐ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋กœ ๋™์ž‘ํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ์ผ๋ จ์˜ ๋ณด์•ˆ ํ•„ํ„ฐ๋“ค๋กœ ๊ตฌ์„ฑ๋œ ํ•„ํ„ฐ ์ฒด์ธ(Filter Chain)์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ†ต๊ณผํ•˜๋ฉฐ ์ฒ˜๋ฆฌ ์ด๋Ÿฌํ•œ ํ•„ํ„ฐ๋“ค์€ ์š”์ฒญ์ด ์ตœ์ข… ๋ชฉ์ ์ง€์ธ ์ปจํŠธ๋กค๋Ÿฌ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์ธ์ฆ ๋ฐ ์ธ๊ฐ€์™€ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ์ž‘์—…์„ ์ˆ˜ํ–‰ Filter & InterceptorSpring Security๋Š” Spring MVC์˜ Dispatcher Servlet ๋ณด๋‹ค ์•ž์ธ Servlet Contain.. 2025. 5. 26.
[Spring] ์„œ๋ธ”๋ฆฟ๊ณผ ํ†ฐ์บฃ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ ์„œ๋ก ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ๋ฐ›์•„ ๋™์ ์ธ ์ฝ˜ํ…์ธ ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‘๋‹ตํ•˜๋Š” ๊ณผ์ •์—๋Š” ์—ฌ๋Ÿฌ ๊ธฐ์ˆ  ์š”์†Œ๋“ค์ด ๋ณตํ•ฉ์ ์œผ๋กœ ์ž‘์šฉํ•œ๋‹ค. ๊ทธ์ค‘์—์„œ๋„ ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์›น ๊ฐœ๋ฐœ์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์„œ๋ธ”๋ฆฟ(Servlet)๊ณผ ์ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ†ฐ์บฃ(Tomcat)์ด๋‹ค.์ •์˜์„œ๋ธ”๋ฆฟ (Servlet)๊ฐœ๋…: ์„œ๋ธ”๋ฆฟ์€ ํด๋ผ์ด์–ธํŠธ(์›น ๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์•„๋‹Œ, ์›น ์„œ๋ฒ„ ๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)์™€ ๊ฐ™์€ ์„œ๋ฒ„ ์ธก ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ์ž๋ฐ” ํด๋ž˜์Šค. ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๊ฐ€ ๋™์ž‘ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†ก์—ญํ• : ์ฃผ๋กœ HTTP(Hypertext Transfer Protocol) ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์ตœ์ ํ™”=> ์ด๋Š” javax.servlet ๋˜๋Š” j.. 2025. 5. 17.