์ ์ ํ์ผ ๊ตฌ์กฐ
๊ฐ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ์น ์๋ฒ์ ์ ๋ก๋๋ ๋ ๋จ์ผ .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/ ๋๋ ํ ๋ฆฌ๋ก ์ด๋๋ฉ๋๋ค .
์์ ํ ๋ช ํํ๊ฒ ํ๋ ค๋ฉด ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ๋ ์ด๋ป๊ฒ ๊ทธ๋ฆฌ๊ณ ๋ฌด์์ด ์ด๋๋ก ๊ฐ๋์ง ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ ์ด ๋ค์ด์ด๊ทธ๋จ์ ์ดํด๋ณด์ญ์์ค.
GO TO FULL VERSION