이클립스 Spring MVC 웹 프로젝트 생성하기

이클립스에서 Spring MVC 프로젝트를 생성하는 방법에 대해 소개하려고 합니다.

이 포스팅에서는 두가지방법을 소개합니다.

 

1. Spring PlugIn 설치 >> 템플릿 통하여 쉽게 만들기

2. DynamicWeb 프로젝트에서 Spring 구조 파일들을 직접 만들기

 

당연히 1번방법으로 진행하는걸 적극 권장합니다.

2번 방법은 내용을 보고 Spring의 구조를 이해하는 정도로 보시면 좋을 것 같습니다.

 

Spring PlugIn > 템플릿 통한 MVC 프로젝트 생성

먼저 Spring Project를 만들기 위해선 Spring PlugIn 설치가 필요합니다.

Help > Eclipse Marketplace를 열어줍니다.

'Spring Tools' 검색하셔서 사진에보이는 플러그인을 설치합니다.

이클립스 스프링 플러그인

해당 플러그인이 설치되면 이제 스프링 프로젝트를 생성할 수 있습니다.

새 프로젝트 만들기(New Project) >> 'Spring' 검색 Spring Legacy Project를 선택합니다.

그다음 Spring MVC Project 선택하셔서 프로젝트 만들어주시면 끝입니다.

스프링 프로젝트
Spring MVC Project

끝입니다. 이렇게 쉽게 Spring Project를 만들 수 있습니다.

 

Spring 구조파일들을 직접 만들기

먼저 DynamicWeb Project를 만들겠습니다.

1. 서버선택해준뒤 Next Click

2. Default folder를 만들어줘야 합니다. src폴더를 만들고, default로 설정해준 뒤 Next Click

3. Generate web.xml 체크하고 Content 폴더명을 적고 Finish 눌러 Project 생성 완료합니다.

Dynamic Web Project

생성된 프로젝트를 Maven 프로젝트로 변환해서 Spring 라이브러리를 메이븐으로 받아옵니다.

1. 프로젝트 우클릭 > Configure > Convert to Maven Project

2. 프로젝트내 Content directory (WebContent) 및에 pom.xml 파일이 생성됩니다.

3. pom.xml에서 dependency 태그를 통해 Spring library를 추가합니다. 

  3-1. 아래코드를 pom.xml 하단에 입력하여 저장

  3-2. 프로젝트 우클릭 > Maven > UpdateProject

<!-- 변수설정 -->
<properties>
	<spring-version>5.2.6.RELEASE</spring-version>
</properties>

<dependencies>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${spring-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>${spring-version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring-version}</version>
	</dependency>
</dependencies>

 

다음은 web.xml 파일 설정을 진행합니다.

web.xml에는 서버에서 사용하는 웹 애플리케이션의 기본 설정들이 정의되어 있습니다.

이 파일에서 우리는 아래와 같은 작업을 합니다.

1. Spring의 DispatcherServlet 객체 생성 및 경로 설정

2. UTF-8 인코딩 설정 ( 한글을 사용하기에 필수적입니다. )

>> 아래 코드를 web.xml에 입력해줍니다. (web-app 태그 안에 넣어주면 됩니다.)

<!-- Context 지정 -->
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/spring/applicationContext.xml</param-value>
</context-param>
  
<!-- DispatcherServlet 경로설정 -->
<servlet>
	<servlet-name>dispatcherServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<!-- contextLeader가 해당위치파일을 dispatcherServlet으로 만듬 -->
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring/servlet-context.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

<!-- url mapping -->
<servlet-mapping>
	<servlet-name>dispatcherServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

<!-- Listener Setting -->
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- UTF-8 Encoding -->
<filter>
	<filter-name>encodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

	<init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
	</init-param>
	<init-param>
		<param-name>forceEncoding</param-name>
		<param-value>true</param-value>
	</init-param>
</filter>

<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern> <!-- 모든 파일에 적용 -->
</filter-mapping>

 

이제 web.xml에서 설정한 경로에 해당하는 파일들을 만들어 주겠습니다.

1. WEB-INF 하위에 spring 폴더 생성

2. spring 폴더 우클릭 > New > Other > Spring Bean Configuration File 생성

3. 파일명: servlet-context.xml 설정

4. namespace (beans, context, mvc) 선택

5. 위와 같은 똑같은 방법에서 [namespace 선택 없이] applicationContext.xml 도 생성합니다.

 (applicationContext.xml은 공통기능에 대한  Bean을 선언할 때 사용합니다.)

servlet-context.xml 파일에서는 다음과 같은 작업을 진행합니다.

1. 어노테이션 활성화

2. View 경로 및 확장자 설정 (뷰 /WEB-INF/views/???.jsp 형식으로 생성해야 합니다)

3. Java 공통 패키지 설정 (해당 공통 패키지 안에 자바 파일들 만들어야 합니다)

<!-- 어노테이션 활성화 -->
<annotation-driven />

<!-- view 경로 설정 -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<beans:property name="prefix" value="/WEB-INF/views/" />
	<beans:property name="suffix" value=".jsp" />
</beans:bean>

<!-- java 공통패키지 -->
<context:component-scan base-package="com.springTest.myapp" />

 

이렇게 기본적인 설정은 끝이 났습니다.

컨트롤러 및 JSP를 만들어서 개발을 진행하시면 되겠습니다.

Anyway 간단한게 최고, 그냥 플러그인 받아서 하세요!!