Intellij에서 Spring Framework MVC Web 프로젝트 생성하기
안녕하세요. YeopBox의 상큼한놈 입니다.
한국에서는 Spring Framework 기반의 프로젝트가 많이 사용 되지만 생성할 기회는 많지 않습니다. (그만큼 초반에 환경을 구성하기 어렵습니다.)
Eclipse에서 생성되는 프로젝트와는 구조는 동일하지만 설정 파일 명이 다른 경우가 있더군요.
(예: servlet-context.xml = dispatcher-servlet.xml)
이번에는 간단하게 Spring Framework MVC 프로젝트를 생성하는 방법에 대하여 알아보도록 하겠습니다.
Intellij에서 Spring Framework 프로젝트 생성하기
Intellij를 실행 후 ‘새 프로젝트’ 버튼을 클릭합니다.
프로젝트 이름를 입력한 뒤 JDK를 본인의 JDK에 맞춰 설정한 뒤 Archetype을 ‘org.apache.maven.archetypes:maven-archtype-webapp’ 으로 설정합니다.
프로젝트를 우클릭 한 뒤에 ‘프레임워크 기능 추가…’를 클릭합니다.
아래와 같이 Sring MVC 프레임워크 지원 추가를 선택 후 ‘확인’ 버튼을 클릭합니다.
pom.xml 파일에 spring-webmvc의 라이브러리를 maven을 통하여 받아오기 위하여 아래 코드를 추가합니다.
1 2 3 4 5 6 7 8 9 10 11 |
<properties> <org.springframework-version>5.2.3.RELEASE</org.springframework-version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework-version}</version> </dependency> </dependencies> |
이후 maven 라이브러리를 이용하기 위하여 기존 생선된 lib 폴더를 삭제 해 줍니다.
프로젝트를 우클릭 한 뒤에 ‘모듈 설정 열기’를 클릭한 뒤에 라이브러리 탭으로 이동합니다.
이후 삭제한 라이브러리 파일을 아래와 같이 선택하여 라이브러리 목록에서 삭제해 줍니다.
이제 java 소스가 저장될 폴더를 생성할 겁니다.
src/main 하단에 ‘java’ 라는 빈 폴더를 생성합니다.
이후 프로젝트를 우클릭 한 뒤에 ‘모듈 설정 열기’를 클릭하여 프로젝트 구조를 실행합니다.
이후 생성된 java 폴더를 우 클릭하여 소스를 클릭합니다.
java 폴더 하단에 controller 폴더를 생성한 뒤 mainController class를 생성한 후 아래 코드를 작성합니다.
1 2 3 4 5 6 7 8 9 10 11 12 |
package controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class MainController { @RequestMapping("/") public String main(){ return "index"; } } |
webapp/WEB-INF 하단에 jsp 폴더를 생성합니다.
그 뒤 webapp/WEB-INF 하단에 있는 index.jsp 파일을 jsp 폴더 안으로 이동시킵니다.
webapp/WEB-INF/dispatcher-servlet.xml 파일을 아래와 같이 수정해 줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <mvc:annotation-driven/> <context:component-scan base-package="controller" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans> |
이후 webapp/WEB-INF/web.xml 파일을 아래와 같이 수정해줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <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> |
pom.xml 파일로 와서 우측 상단에 있는 ‘M’ 버튼을 클릭하여 ‘Maven 변경 내용 로드’를 진행합니다.
이후 프로젝트 빌드 버튼 옆에 있는 ‘현재 파일’을 클릭하여 구성 편집을 선택합니다.
실행/디버그 구성 창이 나타나면 좌측 상단에 있는 ‘+’ 버튼을 클릭한 뒤 Tomcat 서버 – 로컬 을 선택합니다.
이후 이름을 Tomcat으로 수정한 뒤 구성 버튼을 클릭합니다.
Tomcat을 설치한 디렉토리를 선택한 뒤 확인 버튼을 클릭합니다.
Tomcat은 아래 페이지에서 설치하실 수 있습니다. tar.gz 혹은 zip 파일로 다운로드 받은 뒤 임의의 폴더에 압축 해제해 주시면 됩니다.
Tomcat 다운로드 페이지
이후 배포 탭으로 이동한 뒤 ‘수정’ 버튼을 클릭합니다.
수정이 완료되면 애플리케이션 컨택스트를 ‘/’로 설정합니다.
이후 우측 상단에 있는 실행 버튼을 클릭하면 tomcat 서버가 기동됩니다.
아래와 같이 정상적으로 Spring MVC 프로젝트가 작동하는 것을 확인할 수 있습니다.
마치며…
이번에는 Spring Framework MVC 프로젝트를 Intellij에서 생성하는 방법에 대하여 간단하게 알아보았습니다.
처음으로 생성하는 경우에는 굉장히 생소하고 어렵습니다.
필자의 경우 복수 개의 포스트를 참고하였으며 그 중 간단한 방법을 선택하여 생성하였습니다.
감사합니다.
web.xml 수정은 하지 않아도 괜찮을까요? disaptcher-servlet.xml 수정 사항을 추가하지 않으면 404 에러가 나더라구요 ㅠㅠ
안녕하세요. 사이트에 방문해주시고 댓글을 남겨주셔서 감사합니다.
확인해 본 결과 dispatcher url pattern을 ‘/’로 바꾸는 과정이 생략됨을 확인하였습니다.. ㅠㅠ
본 내용도 본문에 추가하였습니다.
좋은 하루 되세요.