์›ํ˜• ์†Œ๊ฐœ

์›ํ˜•์„ ๊ธฐ๋ฐ˜์œผ๋กœ IDEA์—์„œ Maven ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

IDEA์˜ Maven ํ”„๋กœ์ ํŠธ

์—ฌ๊ธฐ์„œ๋Š” ๊ธฐ์กด ์›ํ˜• ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค . ์ด ์›ํ˜•์€ ๋ฌด์—‡์ด๋ฉฐ ์™œ ํ•„์š”ํ•œ๊ฐ€์š”?

Maven์—๋Š” ํ‘œ์ค€ํ™”๋œ ํ”„๋กœ์ ํŠธ ํ…œํ”Œ๋ฆฟ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ…œํ”Œ๋ฆฟ์„ ์•„ํ‚คํƒ€์ž…์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. src , java , ํ…Œ์ŠคํŠธ ํด๋” ๋“ฑ ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์–ตํ•˜์‹ญ๋‹ˆ๊นŒ ? ๋”ฐ๋ผ์„œ ์ด ํด๋” ๊ตฌ์กฐ๋Š” ์›ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

๊ณต์‹ Maven ์›น ์‚ฌ์ดํŠธ ์— ์ƒ˜ํ”Œ ํ…œํ”Œ๋ฆฟ์ด ์žˆ์Šต๋‹ˆ๋‹ค . ๊ทธ๋“ค์˜ ๋„์›€์œผ๋กœ ๊ฐ„๋‹จํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ, ํ”Œ๋Ÿฌ๊ทธ์ธ, ์›น ์‚ฌ์ดํŠธ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์‹œ์ž‘ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์›ํ˜• ๋ชฉ๋ก์€ ์ฝ˜์†”์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. mvn archetype:generate

์ธ๊ธฐ ์žˆ๋Š” ์›ํ˜•

๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์›ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • maven-archetype-quickstart ;
  • maven-archetype- ์‚ฌ์ดํŠธ
  • maven-archetype-webapp ;
  • maven-archetype-j2ee-simple ;
  • jpa-maven-archetype ;
  • spring-mvc-quickstart .

๋นˆ Java ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด maven-archetype-quickstart archetype ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค . ์ง€๋‚œ ๊ฐ•์˜์—์„œ IDEA๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ณด์•˜๋˜ ๊ทธ์˜ ์ž‘์—… ๊ฒฐ๊ณผ๋ฌผ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์›น ์„œ๋ฒ„ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜๊ณ  HTML ํŽ˜์ด์ง€ ๋“ฑ์„ ํ‘œ์‹œํ•˜๋ ค๋ฉด maven -archetype-webapp ์•„ํ‚คํƒ€์ž…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

maven-archetype-site ์›ํ˜•์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ๋˜๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ์˜ˆ์ƒ๋˜๋Š” ๊ฒฝ์šฐ maven-archetype-site-simple ์›ํ˜•๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์„ ์‹œ๋„ํ•˜๊ณ  ๊ฐ€์žฅ ๋งˆ์Œ์— ๋“œ๋Š” ์˜ต์…˜์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

Hibernate ๋˜๋Š” JPA๋กœ ์ž‘์—…ํ•˜๋ ค๋ฉด jpa-maven-archetype archetype ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ Spring ์ž‘์—…์„ ์œ„ํ•œ ํŠน๋ณ„ํ•œ ์›ํ˜•์ธ spring-mvc-quickstart ๋„ ์žˆ์Šต๋‹ˆ๋‹ค . ์ดˆ๋ณด์ž๋“ค์—๊ฒŒ ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ›„์ž์— ๋Œ€ํ•œ ๋” ์œ ์‚ฌํ•œ ์ •๋ณด๋Š” ์—ฌ๊ธฐ ๋งํฌ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

์›ํ˜•์ด ์ข‹์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ทธ๋“ค์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋” ์ด์ƒ Java๋กœ๋งŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ์€ ์—†์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ์ˆ  ์Šคํƒ์— ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. 5-10๊ฐœ์˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋ชฉ๋ก๊ณผ ์ˆ˜์‹ญ ๊ฐœ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ตœ์‹  "๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ์–ธ์–ด"์ž…๋‹ˆ๋‹ค.

Maven์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์ด์™€๋Š” ๋ณ„๋„๋กœ maven-archetype-webapp archetype ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .

์ด๊ฒƒ์€ Java๋กœ ์ž‘์„ฑ๋œ ๊ณ ์ „์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Spring์˜ ์ธ๊ธฐ ์ดํ›„ ์•ฝ๊ฐ„ ๊ตฌ์‹์ด์ง€๋งŒ ์ดˆ๋ณด์ž์ธ ๋‹น์‹ ์€ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์›ํ˜•์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ด๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ๋นŒ๋“œ ๊ฒฐ๊ณผ๋Š” .war ํŒŒ์ผ์ด ๋ฉ๋‹ˆ๋‹ค . ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด Tomcat์— ์ฆ‰์‹œ ์ถ”๊ฐ€๋˜๋„๋ก Deploy๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ธฐ๋ณธ ์„œ๋ธ”๋ฆฟ๊ณผ JSP๋ฅผ ์‹คํ—˜ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์›ํ˜•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํด๋” ๊ตฌ์กฐ๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

IDEA 2์˜ Maven ํ”„๋กœ์ ํŠธ

๋‹ค์Œ์€ ๋ช‡ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

  • ์›น์•ฑ ํด๋”;
  • WEB-INF ํด๋”;
  • web.xml ํŒŒ์ผ;
  • index.jsp

์ฒซ์งธ, ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๊ฐ€ ์ €์žฅ๋˜๋Š” webapp ํด๋” (์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค .

๋‘˜์งธ, web.xml ํŒŒ์ผ์€ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐฐํฌ ์„ค๋ช…์ž ์ž…๋‹ˆ๋‹ค . ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์›น ์„œ๋ฒ„ ๋ฐ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ๋กœ index.jsp ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค . ์ด๊ฒƒ์€ ์ƒ๋‹นํžˆ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ์„œ๋ธ”๋ฆฟ์ž…๋‹ˆ๋‹ค. ์ž‘๋™ ์ค‘์ด๋ฉฐ ์ฒซ ๋ฒˆ์งธ JSP ์„œ๋ธ”๋ฆฟ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์‹คํ—˜ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ธ”๋ฆฟ ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์šฉ ์ฃผ์ œ์—์„œ ์ด ๋ชจ๋“  ๊ฒƒ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.