관련된 포스팅:
src/main/java
자바(.java) 파일이 모여있는 곳입니다. 패키지로 잘 분리해서 자바 클래스를 생성해 사용하면 됩니다. 스프링에서 이미 MVC 패턴의 서블릿 구조를 잡아주기 때문에 따로 서블릿을 만들 필요 없이 스프링 구조에 맞춰 클래스 파일들을 작성해주면 됩니다.
src/main/resources
자바 클래스에서 사용하는 리소스를 보관하는 곳입니다. DB 연결을 위한 자원, 의존성 주입(DI)을 위한 xml 파일 등 자바 코드 외 모든 자원은 이곳에 넣어주면 됩니다.
src
Web에 관련된 자원이 담겨있는 루트 폴더입니다. 하위 폴더에 웹과 관련된 모든 자원들이 분류되어 있습니다. main 폴더 안에 모두 들어가고, test 폴더는 말 그대로 테스트를 위한 공간입니다.
webapp
web에 사용할 정적 자원들을 모아둔 폴더
src/main/webapp/WEB-INF
웹에 필요한 코드 파일과 컴파일된 파일, 그리고 여러 환경설정 파일들이 보관되는 곳입니다. 보안이 중요한 파일들이기 때문에 외부 사용자가 직접 접근할 수 없으며 컨트롤러(정확히는 핸들러)를 통해 내부적으로만 접근할 수 있는 폴더입니다.
src/main/webapp/WEB-INF/classes
컴파일 된 파일이 보관되는 곳입니다.
src/main/webapp/WEB-INF/views
JSP, HTML 파일이 보관되는 곳입니다. 이 폴더가 루트(/)의 기준점입니다. 사용자가 입력하고, 컨트롤러가 받아주는 URL이 이 폴더의 구조를 따라가기 때문에 잘 정리해서 사용할 필요가 있는 곳입니다.
src/main/webapp/resources
웹에 필요한 다양한 자원들을 보관하는 곳이자, 사용자가 직접 접근할 수 있는 공간입니다. js, css, img 파일 등이 보관되어 있으며, 보통 컨트롤러가 요청을 가로채지 않고 바로 접근할 수 있도록 따로 설정해서 사용하는 곳입니다.
src/main/webapp/WEB-INF/spring
스프링 환경설정 파일(context)이 보관되는 곳입니다.
pom.xml
pom.xml은 간단히 말하면 Maven의 빌드 정보를 담고 있는 파일로,
POM(Project Object Model)을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정하는 부분.
이것은 다른 프로젝트에도 복사-붙여넣기하면 되기 때문에 범용성이 좋고, 협업할때에 버전을 통일하기에 편리하다.
Maven Dependencies
메이븐에서 자동으로 관리해주는 라이브러리 폴더입니다. "pom.xml"에 작성된 라이브러리들을 자동으로 다운 받아 관리해줍니다. 빌드툴을 사용함으로써 개발자가 직접 관리해주지 않아도 되는 영역이 되었습니다.
* Maven이란?
자바 프로젝트를 관리하는 툴로, 미리 작성된 xml 파일을 이용하여 라이브러리를 자동으로 다운로드하거나 프로젝트를 빌드해준다. 즉, 자바 소스를 컴파일하고 패키지해서 deploy까지 자동화 해준다는 것이다.
출처:
https://codevang.tistory.com/240
https://coding-hyeok.tistory.com/47
'STUDY > SpringLegacy' 카테고리의 다른 글
[SPRING] Tiles framework (0) | 2022.12.27 |
---|---|
[JSP] JSP란? JSP와 서블릿의 차이점 (0) | 2022.12.25 |
[JSP] import · JSP태그 · taglib · Include · c:url (0) | 2022.12.20 |
[Spring] 답변형 게시판 만드는 방법 (2) | 2022.09.22 |
[Spring] 페이징 처리와 검색 기능 생성 이해하기 (0) | 2022.09.21 |