[Inflearn] 공부하기

자바 웹 어플리케이션 폴더 구조

Ben의 프로그램 2023. 7. 12. 21:07
728x90
자바 웹 어플리케이션 폴더 구조
웹 어플리케이션은 혼자 동작하는 것이 아니라 WAS 에 의해서 동작한다고 배웠습니다. 항상 기억해야 하는 것이 내가 다 처음부터 끝까지 하는 것들은 내가 개발하는 대로 만들면 되지만 WAS 와 같은 것들은 약속이 정해져 있습니다. 나중에 프레임워크를 사용하게 될 때도 마찬가지입니다. 내가 뭔가를 몽땅 다 하는 것이 아니라 도움을 받아야하는데, 그럴 때 반드시 정해진 약속을 지켜야 합니다. 웹 어플리케이션도 마찬가지입니다. 자바 웹 어플리케이션은 반드시 다음과 같은 폴더 구조를 가져야 합니다. 
WEB-INF 라는 폴더는 반드시 존재해야합니다. 아주 중요한데요. WEB-INF 폴더 안에는 Web.xml 이라는 파일이 존재하는데요. Web.xml 이라는 파일도 굉장히 중요한 파일입니다. 우리가 배포 기술자라고 하는데요. 웹 어플리케이션에 대한 모든 정보를 가지고 있는 애라고 이해할 수 있습니다. servlet 3.0 미만에서는 필수로 가지고 있어야 하는 파일들이었는데, 3.0 이상에서는 Annotation 을 이용해서 대신 해주는 기능이 생겼습니다. servlet 3.0 이후부터는 반드시 포함하지 않아도 되요. Annotation 이 기능을 대신했기 때문에 없어도 되게 되었지만, 실제로 내부적으로는 WEB-INF 폴더 아래에 있는 web.xml 이라는 파일이 굉장히 중요한 역할을 하고 있다라는 것을 알고 있어야 합니다. WEB-INF 폴더의 하위 폴더로 lib 폴더와 classes 폴더가 존재할 수 있도록 약속이 되어 있습니다. lib 폴더에는 각종 자료 파일들이 들어가게 됩니다. classes 폴더 아래에는 실제 클래스들이 들어가게 됩니다. java 패키지와 class 들이 들어가게 된다는 거죠. 그래서 우리가 작성했던 servlet 이라는 파일도 classes 폴더 안에 들어가게 됩니다. 또한 같은 경로 위치에 우리가 원하는 각종 폴더와 이미지, Front 단에서 만들었던 각종 파일들(HTML, CSS 등)이 여기에 들어올 수 있게 됩니다. 그래서 실제로 우리가 만들었던 First 프로젝트의 디렉토리를 확인해보면 다음과 같은 구조를 갖고 있는 것을 볼 수 있습니다. 
만약 cmd 창에서 보는 것이 불편하다면 실제로 디렉터리를 확인해볼 수도 있습니다. 
이클립스 작업 폴더에서 위에 보이는 것과 같이 디렉터리를 타고 들어가다 보면 우리가 작업한 firstweb 폴더가 보이는 것을 확인할 수 있습니다. 해당 디렉터리로 들어가보면 
WEB-INF 폴더가 존재하고 있는 것을 확인할 수 있고요. 
classes 폴더로 들어가보면 우리가 작업했던 클래스 파일들이 위치하고 있는 것을 확인할 수 있습니다. 

 

 

 

 

 

 

 

출처 : boostcourse 웹 프로그래밍(풀스택) 
https://www.boostcourse.org/web316/lecture/20655?isDesc=false