๐Ÿ“ Language

    [Spring][ํ˜ผ๊ณต] 3. ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ - ๊ธฐ๋ณธ ์„ค์ • (1)

    [Spring][ํ˜ผ๊ณต] 3. ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ - ๊ธฐ๋ณธ ์„ค์ • (1)

    2021.05.29 - [๐Ÿ“ Language/โœ JAVA] - [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ ์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘ tech-interview.tistory.com ์ธํ”„๋Ÿฐ ๊ฐ•์˜ IDE: ์ธํ…”๋ฆฌJ ๋นŒ๋“œ ๋„๊ตฌ: ๊ทธ๋ž˜๋“ค ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค์–ด๋ณด๊ธฐ 1. ๊ธฐ๋ณธ ์„ค์ • 1) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์˜ˆ์ „ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค ๋งŒ๋“ค์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๊ทผ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ ๋‹ค. ์•„๋ž˜ ์‚ฌ์ดํŠธ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์‚ฌ์ดํŠธ์ด๋‹ค. ์Šคํ”„๋ง ๋ถ€ํŠธ ์Šคํƒ€ํ„ฐ Proje..

    [Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ๊ณ ์ณ๋ณด๊ธฐ (2)

    [Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ๊ณ ์ณ๋ณด๊ธฐ (2)

    ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ 2. ๊ณ ์ณ๋ณด๊ธฐ 1) ๊ฒ€์ƒ‰ ๊ธฐ๋ณธ์ ์ธ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์€ Last Name์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ณ  ์•„๋ฌด ๊ฐ’๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ First Name์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝํ•  ๊ฒƒ์ด๋‹ค. ๋จผ์ €, ๊ฒ€์ƒ‰ํ•˜๋Š” ํ™”๋ฉด(View)์—์„œ ๋ณด์—ฌ์ฃผ๋Š” ํ…์ŠคํŠธ์™€ ์ž…๋ ฅ ๊ฐ’์„ First Name์œผ๋กœ ๋‹ค ๋ณ€๊ฒฝํ•ด์ค€๋‹ค. Controller๋ฅผ First Name์œผ๋กœ ์ˆ˜์ •ํ•˜๊ณ  DB ๊ฒ€์ƒ‰์— First Name์„ ์ฐพ์•„์˜ค๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์ด์ œ ๋‹ค์‹œ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ™•์ธํ•ด๋ณด์ž. First Name์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด๋„ ๊ฒฐ๊ณผ ๊ฐ’์ด ์ž˜ ๋‚˜์˜ค๊ณ  ์žˆ๋‹ค. 2) ๊ณ ๊ธ‰ ๊ฒ€์ƒ‰ ํ˜„์žฌ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์€ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ์™€ ๊ฐ’์˜ ์•ž๋ถ€๋ถ„์ด ์™„๋ฒฝํžˆ ๋งค์นญ ๋˜์–ด์•ผ ๊ฒ€์ƒ‰์ด ๋˜๊ณ  ์žˆ๋‹ค. ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ๊ฐ€ ํฌํ•จ๋˜๊ธฐ๋งŒ ํ•ด๋„ ๊ฒ€์ƒ‰์ด ๋˜๋„๋ก ์ˆ˜์ •ํ•ด๋ณด์ž. ๋น„๊ต์  ๊ฐ„๋‹จํ•œ๋ฐ..

    [Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ์‚ดํŽด๋ณด๊ธฐ (1)

    [Spring][ํ˜ผ๊ณต] 2. ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ - ์‚ดํŽด๋ณด๊ธฐ (1)

    2021.05.29 - [๐Ÿ“ Language/โœ JAVA] - [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ [ํ˜ผ๊ณต][Spring] 1. ์ค€๋น„ ์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘ tech-interview.tistory.com ์œ ํŠœ๋ธŒ ๊ฐ•์˜ IDE: ์ดํด๋ฆฝ์Šค ๋นŒ๋“œ ๋„๊ตฌ: ๋ฉ”์ด๋ธ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ 1. ์‚ดํŽด๋ณด๊ธฐ 1) ์ค€๋น„ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ Pet Clinic https://github.com/spring-projects/spring-petclinic spring-projects/spring-petclinic A sample Spring-based applicatio..

    [Spring][ํ˜ผ๊ณต] 1. ์ค€๋น„

    [Spring][ํ˜ผ๊ณต] 1. ์ค€๋น„

    ์ค€๋น„ ์›๋ž˜ ์›น์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ถ„์•ผ(๊ฒŒ์ž„)์—์„œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ์›น, ํŠนํžˆ Back End ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ธฐ๋ก ๋ชฉ์ ์œผ๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ์ž‘์„ฑํ•˜๋ ค ํ•œ๋‹ค. ๋จผ์ €, ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ด๊ณ  ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” Spring์„ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค. ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋‚˜ ์ธํ”„๋Ÿฐ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ „์ฒด์ ์ธ ํ•ต์‹ฌ ๊ฐœ๋… ์ •๋„๋งŒ ๊ณต๋ถ€๋ฅผ ํ•œ ๋’ค ์ฑ…์„ ํ†ตํ•ด ์ข€ ๋” ์‹ฌํ™” ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค. 1. ํ•„์š”ํ•œ ์‚ฌ์ „ ์ง€์‹ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์‚ฌ์šฉํ•œ ๋ฒ„์ „์€ 11์ด๊ณ  'ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ์ž๋ฐ”'๋ผ๋Š” ์ฑ…์„ ํ†ตํ•ด ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๋งŒ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์•„์ง ์ž๋ฐ”๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ ๊ฒฝํ—˜๋„ ์—†๊ณ  ๋งŽ์ด ์จ๋ณด์ง€๋„ ์•Š์•„์„œ ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์ง€๋งŒ, ์ฐจ๊ทผ์ฐจ๊ทผ ๊ณต๋ถ€ํ•˜๊ธฐ์—” ์‹œ๊ฐ„๋„ ๋ถ€์กฑํ•˜๊ณ  ๋นจ๋ฆฌ ์‹ค์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์‹ถ๊ธฐ์— Spring์„ ์จ๋ณด๋ฉฐ ํ•จ๊ป˜ ๊ฒฝํ—˜์„ ์Œ“์„ ์ƒ๊ฐ..

    Maven(๋ฉ”์ด๋ธ)

    Maven(๋ฉ”์ด๋ธ)

    Maven(๋ฉ”์ด๋ธ) 1. ๋นŒ๋“œ(Build) ์†Œ์Šค ํŒŒ์ผ์„ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ€๊ณต๋ฌผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ • ๋˜๋Š” ๊ทธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค. ์ž‘์„ฑํ•œ ์†Œ์Šค(.java), ํ”„๋กœ์ ํŠธ์—์„œ ์“ฐ์ธ ํŒŒ์ผ ๋ฐ ์ž์›(.xml, .jpg, .jar, .properties)์„ JVM์ด๋‚˜ ํ†ฐ์บฃ ๊ฐ™์€ WAS๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋กœ ํŒจํ‚ค์ง• ํ•˜๋Š” ๊ณผ์ • ๋ฐ ๊ฒฐ๊ณผ๋ฌผ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 1) ๋นŒ๋“œ ๋„๊ตฌ(Build Tool)๋ž€? ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ, ํ…Œ์ŠคํŠธ ๋นŒ๋“œ, ๋ฐฐํฌ ๋“ฑ์˜ ์ž‘์—…์„ ์œ„ํ•œ ์ „์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๊ณ„์†ํ•ด์„œ ๋Š˜์–ด๋‚˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ถ”๊ฐ€, ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒ„์ „ ๋™๊ธฐํ™”์˜ ์–ด๋ ค์›€์„ ํ•ด์†Œํ•œ๋‹ค. ์ตœ๊ทผ ๋Œ€ํ‘œ์ ์ธ ๋นŒ๋“œ ๋„๊ตฌ๋กœ๋Š” Maven, Gradle์ด ์žˆ๋‹ค. ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ, ๋ฉ€ํ‹ฐ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ๋Š” Gradle์ด ๋งŽ์ด ์‚ฌ..

    JSP์™€ Servlet

    JSP์™€ Servlet

    JSP์™€ Servlet ๊ธฐ๋Šฅ์˜ ์ฐจ์ด๋Š” ์—†๊ณ  ์—ญํ• ์˜ ์ฐจ์ด๋งŒ ์žˆ๋‹ค. ํ•˜๋Š” ์ผ์€ ๋™์ผํ•˜๋‹ค. 1. Web Service์˜ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘ ๊ณผ์ • ์‚ฌ์šฉ์ž๊ฐ€ ์›น ํŽ˜์ด์ง€ form(HTML Form)์„ ํ†ตํ•ด ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. (Input) Servlet์˜ doGet() ๋˜๋Š” doPost() ๋ฉ”์„œ๋“œ๋Š” ์ž…๋ ฅํ•œ form data์— ๋งž๊ฒŒ DB ๋˜๋Š” ๋‹ค๋ฅธ ์†Œ์Šค์—์„œ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ์ด ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋งž๋Š” ์ ์ ˆํ•œ ๋™์  ์ฝ˜ํ…์ธ (HTML Page)๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ œ๊ณตํ•œ๋‹ค. (Output) 2. Servlet ์›น ๊ธฐ๋ฐ˜์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ๋™์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ Server Side์—์„œ ๋Œ์•„๊ฐ€๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. Java ์ฝ”๋“œ ์•ˆ์— HTML ์ฝ”๋“œ๊ฐ€ ์‚ฝ์ž…๋œ ํ˜•ํƒœ๋กœ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์ด๋‹ค. ์›น ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ๋งŒ๋“  ํ‘œ์ค€์ด๋‹ค. d..