Spring MVC, IntelliJ, gradle, tomcat 개발 환경 구축 두번째 시간입니다.
이전 글 – Spring MVC gradle 시작하기에서 Spring mvc, gradle 환경에 맞추어 폴더 구조를 변경했습니다. 이제 Spring MVC facet 설정을 해줄 차례예요. 인텔리제이는 특정 프레임워크에 따라서 설정을 구성하기 위한 추가 요소들을 자동으로 생성해주는 기능을 제공합니다. facet에 대한 자세한 설명은 IntelliJ 공식 문서를 참조하세요.
IntelliJ – facets 설명 보기 👈 click!!
Spring MVC Facet 설정
web.xml
Web Application이 WAS(Web Application Server)에서 구동될 때 그 시작점은 web.xml 입니다. 웹 애플리케이션이 구동될 때 가장 먼저 web.xml을 읽어 들이고 그 내용에 따라 환경을 셋팅하도록 설계되어 있습니다. 그리고 IntelliJ에 web.xml 을 먼저 등록해주면, 그 내용을 토대로 스프링 설정 파일들을 자동으로 감지해서 추가해 주기도 합니다.
- 현재의 디렉터리 구조는 아래와 같습니다. 이전 게시글에서 IntelliJ 기능을 사용해 자동으로 디렉터리 구조를 만들고, 그래들 환경에 맞게 폴더를 이동 시킨 상태입니다.
2. web.xml 파일 내용을 아래와 같이 수정해줍니다. 복사해서 붙여 넣어 주세요.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3. 프로젝트 폴더 우클릭 후 ‘Open Module Setting’을 클릭한 뒤, facets 탭을 클릭해 어떻게 되어있는지 다시 확인해봅니다. Spring, Web 아래에 뭔가 하나씩 추가되었네요. Spring (SpringBoard)을 클릭해보면 우측에 ‘No application contexts defined’ 메시지가 표시됩니다.
4. 이제 web.xml 설정 파일을 지정해줍시다. Web Gradle : SpringBoard-1.0-SNAPSHOT.war (SprigBoard.main)을 클릭해주세요.
5. + 버튼을 클릭해서 Deployment Descriptors를 추가해줍니다. 클릭하면 표시되는 ‘1 web.xml’ 을 클릭해줍니다.
6. 클릭하고 나면 이렇게 경로 설정 창이 뜨는데, 경로가 ‘main\webapp\WEB-INF\web.xml’ 로 표시되어야 합니다. 확인 후 OK 버튼을 클릭하세요.
7. ①Deployment Descriptor가 추가되었습니다. OK 버튼을 클릭하세요. ②Source Roots는 IDE에서 자동으로 인식하는데, main 아래에 resource, java 폴더를 잡아주고 있습니다. 그냥 OK 버튼을 클릭하시면 됩니다.
Spring 설정 파일
스프링 프레임워크를 설정을 위한 파일입니다. 본 게시글에서는 자동으로 생성된 XML-based configurations로 구성했지만, Code-based configurations로 구성하는 것도 가능합니다.
8. ①플러스 모양 아이콘을 클릭하고 ②Spring을 선택합니다.
9. SpringBoard.main 을 선택하고 OK 버튼을 클릭해줍니다. gradle이 main 폴더를 기준으로 하기 때문에 main 아래에 설정 파일들을 넣어 준 상황이라서 그래요.
10. OK 버튼을 클릭하고 나면 Modules 탭으로 자동으로 이동 됩니다. ① main 폴더 아래에 Spring 모듈이 생겼고, ② MVC application context, MVC dispatcher servlet context이 자동으로 셋팅된 것을 볼 수 있습니다.
11. facets 탭을 클릭해 확인해보아도 ①MVC application context, MVC dispatcher servlet context이 자동으로 셋팅된 것을 볼 수 있습니다. ② 자세히 보면 (autodetected)라고 적혀있어요. 정말 똑똑하게도 자동으로 스프링 설정 파일을 잡아주고 있습니다. 👍 확인되었다면 OK 버튼을 클릭해주세요.
12. 자, facet 설정을 완료했으니 두 번째 커밋을 합시다.
다음에는 Controller를 생성하고 요청 url에 따라서 적절한 View를 응답해주도록 환경을 구축해보겠습니다. 이해가 안 되는 부분은 댓글로 알려주세요! 😊
친절하게 설명해 주셔서 차근차근 따라하기 좋겠어요. 감사합니다.👍
도움이 되었다니 기분이 좋습니다! 🙂