CodeGym /Java Course /๋ชจ๋“ˆ 3 /์ „์Ÿ ํŒŒ์ผ ์žฅ์น˜

์ „์Ÿ ํŒŒ์ผ ์žฅ์น˜

๋ชจ๋“ˆ 3
๋ ˆ๋ฒจ 11 , ๋ ˆ์Šจ 5
์‚ฌ์šฉ ๊ฐ€๋Šฅ

์ „์Ÿ ํŒŒ์ผ ๊ตฌ์กฐ

๊ฐ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์›น ์„œ๋ฒ„์— ์—…๋กœ๋“œ๋  ๋•Œ ๋‹จ์ผ .war ํŒŒ์ผ๋กœ ํŒจํ‚ค์ง•๋ฉ๋‹ˆ๋‹ค. WAR์€ Web ARchive์˜€์ง€๋งŒ ์ด์ œ Web Application Resources์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด๊ฒƒ์€ ํŒจํ‚ค์ง€๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํฌํ•จํ•˜๋Š” zip ์•„์นด์ด๋ธŒ์ž…๋‹ˆ๋‹ค.

war ํŒŒ์ผ์˜ ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

/index.html
/guestbook.jsp
/images/logo.png
/js/jquery.js
/WEB-INF/web.xml
/WEB-INF/classes/com/codegym/Util.class
/WEB-INF/classes/com/codegym/MainServlet.class
/WEB-INF/classes/application.properties
/WEB-INF/lib/util.jar
/META-INF/MANIFEST.MF

war ํŒŒ์ผ ๋‚ด๋ถ€์—๋Š” .html, .css, .js ํŒŒ์ผ ๋“ฑ๊ณผ ๊ฐ™์€ ์ •์  ์›น ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์ง„, ๋น„๋””์˜ค ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ํŒŒ์ผ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฃจํŠธ ๋˜๋Š” ํ•˜์œ„ ํด๋”์— ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Tomcat์€ ์š”์ฒญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ„๋‹จํžˆ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์›น ์„œ๋ฒ„์— apple์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋กœ๋“œ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  http://localhost/apple/images/logo.png๊ฐ€ ์š”์ฒญ๋˜๋ฉด Tomcat์€ /images/logo.png ํŒŒ์ผ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค .

๋ณ„๋„๋กœ WEB-INF ํด๋”์— ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . Java ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Tomcat์€ ๋‚ด์šฉ์„ ๊ณต๊ฐœ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค .

/WEB-INF/ํด๋ž˜์Šค/ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๋กœ๋”๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค ๋ฐ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์„ ํฌํ•จํ•˜์—ฌ ์ปดํŒŒ์ผ๋œ ๋น„ JAR Java ํด๋ž˜์Šค์šฉ ๋””๋ ‰ํ† ๋ฆฌ
/WEB-INF/lib/ jar ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ €์žฅํ•  ์žฅ์†Œ
/WEB-INF/web.xml ๋ฐฐํฌ ์„ค๋ช…์ž

war ํŒŒ์ผ ๊ตฌ์กฐ ๋ฐ maven ํ”„๋กœ์ ํŠธ

์ด์ œ Maven ํ”„๋กœ์ ํŠธ์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ์ด๋™ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ ๋งค๋‰ด์–ผ์—์„œ ์ „์ฒด ์นดํƒˆ๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‹ค์†Œ ์ถ•์•ฝ๋œ ๋ฒ„์ „์œผ๋กœ ์ด์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ‘œ์ค€ Maven ๋””๋ ‰ํ† ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

src/๋ฉ”์ธ/์ž๋ฐ” ์ผ๋ฐ˜์ ์œผ๋กœ ํ—ˆ์šฉ๋˜๋Š” ํŒจํ‚ค์ง€ ๊ณ„์ธต ๊ตฌ์กฐ์— ๋”ฐ๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํด๋ž˜์Šค ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์†Œ์Šค ์ฝ”๋“œ
src/๋ฉ”์ธ/๋ฆฌ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •, ํ˜„์ง€ํ™” ํŒŒ์ผ ๋“ฑ
src/๋ฉ”์ธ/์›น์•ฑ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฆฌ์†Œ์Šค(JSP ํŒŒ์ผ, ํ…์ŠคํŠธ ํŒŒ์ผ, ์Šคํฌ๋ฆฝํŠธ ๋“ฑ)

๋ณด์‹œ๋‹ค์‹œํ”ผ, ์—ฌ๋Ÿฌ๋ถ„์ด ์•Œ๊ณ  ์žˆ๋Š” WAR ํŒŒ์ผ์˜ ๊ตฌ์กฐ์™€ ์ƒ๋‹นํžˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปดํŒŒ์ผํ•  ๋•Œ ์‹ค์ œ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์ผ์€ ๋‹จ์ˆœํžˆ ํŒŒ์ผ์„ Java EE ์‚ฌ์–‘์— ์ •์˜๋œ ๊ตฌ์กฐ๋กœ ์ด๋™ํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

src/main/webapp ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปจํ…์ŠคํŠธ ๋ฃจํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ (์„œ๋ฒ„์— ๋ฐฐ์น˜๋  ๋•Œ ์ปจํ…์ŠคํŠธ ๋ฃจํŠธ๋Š” WAR ํŒŒ์ผ์˜ ์ด๋ฆ„๊ณผ ๋™์ผํ•จ) ์ด๋ฏธ ๊ทธ ์•ˆ์— WEB-INF ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, src/main/webapp ์˜ ๋‚ด์šฉ์ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์™„์ „ํžˆ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  Java ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋˜๊ณ  ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ /WEB-INF/classes/ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค . ์œ„์—์„œ ์ •์˜ํ•œ ๋Œ€๋กœ Maven pom.xml ์ข…์†์„ฑ์— ์ •์˜๋œ ํฌํ•จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ JAR์€ /WEB-INF/lib/ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค .

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์› src/main/resources๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํด๋ž˜์Šค ๊ฒฝ๋กœ, ํŠนํžˆ ๋™์ผํ•œ /WEB-INF/classes/ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค .

์™„์ „ํžˆ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡์ด ์–ด๋””๋กœ ๊ฐ€๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ด ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค.

์ „์Ÿ ํŒŒ์ผ ์žฅ์น˜
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION