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

๐ŸŒท Spring/Spring MVC_17

[Spring] ๊น€์˜ํ•œ ์Šคํ”„๋ง MVC_ ์„น์…˜6. ์Šคํ”„๋ง MVC - ๊ตฌ์กฐ์ดํ•ด ์„น์…˜ 6์€ ์Šคํ”„๋ง MVC ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•ด ๋ณด๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„๋“ค์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ดค๋‹ค. ์„น์…˜ 5๋Š” ์ง์ ‘ MVC ํŒจํ„ด์„ ๋งŒ๋“ค์—ˆ๊ณ , ์„น์…˜ 6์€ ์Šคํ”„๋ง์ด ์–ด๋–ป๊ฒŒ MVC๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ดค๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ œ๊ณต๋˜๋Š” ํ˜„์žฌ์˜ ์Šคํ”„๋ง MVC๊ฐ€ ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์˜ค๊ฒŒ ๋๋Š” ์ง€๋„ ๋ฐฐ์› ๋‹ค. โ˜˜๏ธ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โœ”๏ธ ๊ณผ๊ฑฐ ๋ฒ„์ „ ์Šคํ”„๋ง ์ปจํŠธ๋กค๋Ÿฌ์ง€๊ธˆ์€ ์ „ํ˜€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”, ๊ณผ๊ฑฐ์— ์‚ฌ์šฉํ–ˆ๋˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž. โ–บ OldController.class @Component: ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.@Component("/springmvc/old-controller")public class OldController implements Controller { @Override publ.. 2025. 7. 22.
[Spring] ๊น€์˜ํ•œ ์Šคํ”„๋ง MVC_ ์„น์…˜5. MVC ํ”„๋ ˆ์ž„์›Œํฌ ๋งŒ๋“ค๊ธฐ ์„น์…˜ 5๋Š” ํ˜„์žฌ์˜ Spring MVC๊นŒ์ง€ ์˜ค๊ฒŒ๋œ ๊ณผ์ •์„ ์ฐจ๊ทผ์ฐจ๊ทผ ์‚ดํŽด๋ดค๋‹ค. ์•ž์„œ ๋ฐฐ์šด ์ ์—์„œ ๊ฐ€์žฅ ํฐ ๋ณ€ํ™”๋Š” ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ฒ˜๋ฆฌํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ์— ์—ญํ• ์„ ์ „๊ฐ€ํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์ ์  ํŽธ๋ฆฌํ•˜๊ฒŒ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์ด๋ฉฐ ์ ์ง„์ ์ธ ๊ตฌ์กฐ์  ๋ณ€ํ™”๋ฅผ ์ฃผ์—ˆ๋‹ค. โ˜˜๏ธ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โœ”๏ธ V1_ ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋„์ž…ํ•˜์ž.ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์š”์ฒญ์„ ๋ฐ›์•„ ์•Œ๋งž๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ฐพ์•„ ํ˜ธ์ถœํ•œ๋‹ค.๋‚˜๋จธ์ง€ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์„œ๋ธ”๋ฆฟ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. โ–บ ControllerV1.interfacepublic interface ControllerV1 { void process(HttpServletRequest r.. 2025. 7. 14.
[Spring] ๊น€์˜ํ•œ ์Šคํ”„๋ง MVC_ ์„น์…˜4. ์„œ๋ธ”๋ฆฟ, JSP, MVC ํŒจํ„ด(2) ์„น์…˜ 4๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ํšŒ์›๊ด€๋ฆฌ ์›น์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ํ•ด๋ณด๊ณ  JSP, SpringMVC๋ฅผ ์ฐจ๋ก€๋กœ ์‚ดํŽด๋ดค๋‹ค. ์„œ๋ธ”๋ฆฟ๊ณผ JSP๋กœ ๋งŒ๋“  ์ฝ”๋“œ์—๋Š” ์–ด๋–ค ๋ถˆํŽธํ•œ ์ ์ด ์žˆ๋Š”์ง€, SpringMVC๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๋ฉฐ ์„œ๋ธ”๋ฆฟ๊ณผ JSP์˜ ๋ฌธ์ œ์ ์„ ์–ด๋–ป๊ฒŒ ๋ณด์™„ํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ดค๋‹ค. โ˜˜๏ธ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โœ”๏ธ MVC ํŒจํ„ด - ํšŒ์›์ •๋ณด ์ €์žฅ๊ณผ ์ถœ๋ ฅ์„œ๋ธ”๋ฆฟ์„ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์‚ฌ์šฉํ•˜๊ณ , JSP๋ฅผ ๋ทฐ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. โ–บ MvcMemeberFormServlet.classํšŒ์› ๋“ฑ๋ก ํผ ํด๋ž˜์Šค์ปจํŠธ๋กค๋Ÿฌ ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค. RequestDispatcher: ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์ตœ์ดˆ๋กœ ๋“ค์–ด์˜จ ์š”์ฒญ์„ ์›ํ•˜๋Š” ์ž์›์œผ๋กœ ์š”์ฒญ์„ ๋„˜๊ธฐ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ์ž์›์— ์ฒ˜๋ฆฌ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด์˜ค๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํด.. 2025. 7. 4.
[Spring] ๊น€์˜ํ•œ ์Šคํ”„๋ง MVC_ ์„น์…˜4. ์„œ๋ธ”๋ฆฟ, JSP, MCVํŒจํ„ด(1) ์„น์…˜ 4๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ ํšŒ์›๊ด€๋ฆฌ ์›น์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์„œ๋ธ”๋ฆฟ์œผ๋กœ ํ•ด๋ณด๊ณ  JSP, SpringMVC๋ฅผ ์ฐจ๋ก€๋กœ ์‚ดํŽด๋ดค๋‹ค. ์„œ๋ธ”๋ฆฟ๊ณผ JSP๋กœ ๋งŒ๋“  ์ฝ”๋“œ์—๋Š” ์–ด๋–ค ๋ถˆํŽธํ•œ ์ ์ด ์žˆ๋Š”์ง€, SpringMVC๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๋ฉฐ ์„œ๋ธ”๋ฆฟ๊ณผ JSP์˜ ๋ฌธ์ œ์ ์„ ์–ด๋–ป๊ฒŒ ๋ณด์™„ํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ดค๋‹ค. โ˜˜๏ธ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โœ”๏ธ ํšŒ์› ๊ด€๋ฆฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”๊ตฌ์‚ฌํ•ญํšŒ์› ๊ด€๋ฆฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ username๊ณผ age๋ฅผ ์ •๋ณด๋กœ ๊ฐ€์ง„๋‹ค.ํšŒ์› ์ €์žฅ๊ณผ ํšŒ์› ๋ชฉ๋ก์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ ๋‹ค. โ–บ Memeber.class@Getter @Setterpublic class Member { private Long id; private String username; private in.. 2025. 7. 1.
[Spring] ๊น€์˜ํ•œ ์Šคํ”„๋ง MVC_ ์„น์…˜3. ์„œ๋ธ”๋ฆฟ ์„น์…˜ 2์—์„œ ์„œ๋ธ”๋ฆฟ์— ๊ด€ํ•œ ๊ฐœ๋…์„ ๋ฐฐ์› ๊ณ  ์„น์…˜ 3์—์„œ๋Š” ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด์•˜๋‹ค. ์„œ๋ธ”๋ฆฟ์— ๊ด€๋ จํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ถ€ํ„ฐ ๊ณผ๊ฑฐ์— ๊ฐœ๋ฐœ์ž๋“ค์ด HTTP ์š”์ฒญ์„ ์–ด๋–ป๊ฒŒ ๋ฐ›์•„์„œ ์–ด๋–ป๊ฒŒ ์‘๋‹ต์„ ๋‚ด๋ ธ๋Š”์ง€์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์„ ๋ฐฐ์› ๋‹ค. ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์€ ์•„๋‹ˆ์ง€๋งŒ SpringMVC๋กœ ๋“ค์–ด๊ฐ€๊ธฐ์ „ ๊ณผ๊ฑฐ์— ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ–ˆ๋Š”์ง€๋ฅผ ๋ฐฐ์›€์œผ๋กœ์จ SpringMVC์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๋Š”๋ฐ ๋„์›€์ด ๋  ๊ฐ•์˜์˜€๋‹ค. โ˜˜๏ธ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โœ”๏ธ ์„œ๋ธ”๋ฆฟ ๋“ฑ๋กํ•˜๊ธฐ์„œ๋ธ”๋ฆฟ์€ ํ†ฐ์บฃ ์„œ๋ฒ„๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด, ๋ณ„๋„์˜ ์„ค์น˜ ์—†์ด ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.โ–บ ServletApplication.class@ServletComponentScan: ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์„œ๋ธ”๋ฆฟ์„ ์ง์ ‘ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค.@ServletC.. 2025. 6. 26.
[Spring] ์„น์…˜ 3_ ์˜ค๋ฅ˜ ๋ฐœ์ƒ - Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failed ๊ฐ•์˜ ์„น์…˜ 3์—์„œ ๋งจ ์ฒ˜์Œ ์‹คํ–‰ํ–ˆ์„๋•Œ๋Š” ์ž˜ ๋Œ์•„๊ฐ€๋‹ค๊ฐ€, ์ˆ˜์—… ์ง„ํ–‰์— ๋”ฐ๋ผ ์„ค์ •์„ ๋ฐ”๊พธ๋ฉด์„œ ๊ฐ‘์ž๊ธฐ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค.์˜ค๋ฅ˜๊ฐ€ ์™œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์ฐพ์•„๋ณด๊ณ  ํ•ด๊ฒฐ์„ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. โœฆ ์—๋Ÿฌ๋‚ด์šฉ :Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2025-06-17T12:32:24.842+09:00 ERROR 46814 --- [servlet] [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factor.. 2025. 6. 17.