JAR와 WAR 모두 JAVA의 jar 툴을 이용하여 생성된 압축(아카이브) 파일이며
어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 있도록 관련 파일(리소스, 속성파일 등)들을 패키징해주는 것이 주 역할.
1) Class와 Class에서 필요로 하는 관련 리소스들 및 메타데이터들을 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷
2) 여러 파일들이 압축 되어 있는 zip과 비슷한 개념이지만 jar는 따로 압축 해제하지 않아도 JDK에 포함하고 있는 JRE만 가지고 실행 가능한 편리함
1) 서버 페이지, JAVA Servlet, Java Class, XML, File, Tag Library, HTML등 웹 애플리케이션이 구동되기 위한 기타 자원을 한군데에 모아 배포하는데 사용되는 파일 포맷
2) 웹 어플리케이션을 어떻게 설치할 지에 대한 정의가 있는 web.xml 파일을 포함하여, WAS가 동작하면 이 파일에서 설정을 불러온다.
1) JAR : JRE(Java Runtime Environment) 만 존재하면 프로젝트 구동 가능
2) WAR : 웹 애플리케이션의 사전 정의된 구조(web.xml)를 따르기 때문에, 외부 WAS나 JSP를 사용할 일이 있다면 WAR를 이용
1) jsp는 jar로 묶을 때, src/main/webapp/WEB-INF/jsp에 위치하다보니 jar에 포함되지 않음.
2) 만약 jar 배포를 하고 싶은데, jsp를 같이 넣고 싶다면 src/main/resources/META-INF/resources/WEB-INF/jsp에 jsp 파일을 두면 jar에 포함되어 사용 가능.