STS로 새 프로젝트를 생성하면 아래와 같은 기본 구조를 확인할 수 있다. Maven
의 기본 디렉토리 설정인 것 같다. 개발자마다 설정 및 사용 용도가 조금씩 다른듯 하다. (https://slipp.net/questions/11)
src/main/java
- Java source 디렉토리
- Java 파일들은 모두 이 디렉토리에 생성한다.
- HomeController.java
- Web client로부터의 요청을 해당 비즈니스 로직으로 분기 및 수행 결과를 응답하는 역할.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate ); return "home"; }
|
src/main/resources
- Resources들(설정 파일, img, js, css 등)이 저장되는 디렉토리.
- [추측]
src/main/webapp/resources
에 저장한 static resource
들을 빌드 시 이쪽으로 copy하는 것으로 보이며 이쪽으로 copy된 resource들은 classpath를 통해 접근할 수 있다고 한다.
- log4j.xml
Maven Dependencies
Apache Tomcat v7.0 [Apache Tomcat v7.0]
JRE System Library
- Java를 사용하기 위한 Java Runtime Environment 관련 라이브러리들
src/main/webapp
- Maven의 기본 폴더.
- 이 아래 모든 jsp 및 js 파일이 포함된다.
resources
- Web service에 사용할
static resource
들을 저장하는 디렉토리.
WEB-INF
classes
spring
appServlet
- Servlet 설정 파일
- servlet-context.xml
views
- JSP 디렉토리. 실제 page들이 여기에 위치한다고 보면 된다.
- home.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page session="false" %> <%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> <html> <head> <title>Home</title> </head> <body> <h1> Hello world! </h1> <P> The time on the server is ${serverTime}. </P> </body> </html>
|
web.xml
- 서블릿 배포 기술자 (설정 파일)
- WAS (Web Application Server) 즉, TOMCAT이 구동될 때, WEB-INF 디렉토리에 존재하는 web.xml를 읽어와서 Web application 설정을 구성한다.
target
pom.xml
Project Object Model
로 Maven project와 관련된 설정들이 저장되는 파일이다.
- 프로젝트 기본 정보
- 빌드 설정
- 프로젝트 관계 설정
- 빌드 환경
- Property 관리
참조