본문 바로가기
IT, 개발/웹개발

이클립스(Eclipse)에서 Spring Framework 개발 환경 구축하기 (Maven Project)

by 개발자스터디 2022. 1. 7.
반응형

Maven Project를 생성하고 그 프로젝트에 스프링 프레임워크를 적용하고자 합니다.

 

이클립스에서 Maven Project 생성하고 Tomcat 연동하는 방법은 이전 글을 참고하시기 바랍니다.

 

 

하나씩 천천히 진행해보겠습니다.

 

1. pom.xml 수정

maven 프로젝트를 생성하면 그 생성한 프로젝트에 pom.xml이 있습니다. 그 부분을 수정해보겠습니다.

먼저 기본 생성된 pom.xml 파일입니다.

 

기본 pom.xml

 

기본 pom.xml 파일에서 스프링 프레임워크 dependency를 추가해보겠습니다.

두 가지 항목을 추가할텐데 properties에 사용할 버전 정보를 입력하고, dependency에 스프링 프레임워크를 입력하도록 하겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>testProject</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>testProject Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <!-- properties 추가 -->
  <properties>
      <spring.version>4.0.1.RELEASE</spring.version>
  </properties>
  <!--                -->
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
<!-- springframework 추가 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</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>
  <build>
    <finalName>testProject</finalName>
  </build>
</project>
cs

 

2. Controller 생성

 

다음으로 컨트롤러를 생성해야합니다.

maven 프로젝트로 생성한 프로젝트를 보면 src/main/java 패키지가 기본으로 생성됩니다. 여기서 java 뒤로 패키지를 생성하여 컨트롤러를 만들어보겠습니다.

 

기본 package

 

"java" 폴더 우클릭 후 [New] → [Other]로 들어가서 "package"로 검색해보겠습니다.

 

package 생성 1

 

패키지명을 입력하고 마무리합니다.
저는 보통 프로젝트에서 상징적인 단어를 처음 시작으로 하고 그 뒤로 com ~~ 이런 방식으로 패키지를 생성합니다. 예시를 참고하시고 각자 원하는 방식으로 생성하시면 됩니다.

 

package 생성 2

 

패키지가 생성된 후에는 패키지 맨 뒤 폴더에서 자바 파일을 생성해주겠습니다.

  ** 예시의 경우 패키지가 springTest.com.test.control 이기 때문에
      "control" 이라는 폴더에서 만들면 되겠네요

 

"control" 폴더 우클릭 후 [New] → [Other]로 들어가서 "class"로 검색해보겠습니다.

 

클래스 생성 1

 

클래스 명 입력 후 완료합니다.

 

클래스 생성 2

 

생성된 클래스에 코드를 추가해주도록 하겠습니다.
class에 컨트롤러 어노테이션을 붙이고 간단한 URL 테스트를 할 수 있도록 소스를 작성해주겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package springTest.com.test.control;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
public class TestController {
 
    @RequestMapping(value="/urlTest", method=RequestMethod.GET)
    public String urlTest() {
        
        return "/test/testView";    // JSP 경로
    }
    
}
cs

 

3. View(jsp) 생성 

 

이제 화면에 보여질 jsp파일을 생성해야 합니다.
먼저 jsp파일을 생성할 폴더부터 만들어야 하는데
src/main/webapp/WEB-INF 경로에서 폴더 트리를 만들어보겠습니다.

"WEB_INF"에서 우클릭 후 [New] → [Folder]를 선택합니다.

 

new folder

 

폴더명을 입력하고 폴더를 생성합니다. 저는 아래와 같이 폴더 트리를 만들었습니다.

 

jsp folder

 

이제 "test"폴더에 jsp파일을 생성하겠습니다. [New] → [Other]로 들어가서 jsp를 검색합니다.

 

jsp 생성 1


jsp file 선택 후 파일명을 입력하고 완료합니다.

 

jsp 생성 2


파일을 생성 후 기본 코드입니다.

 

jsp 기본 코드

 

오늘은 화면이 표시되는지만 확인하기 때문에 간단하게 문구만 작성하겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    
    <h2>Test View Page</h2>
    
</body>
</html>


cs

 

 

 

4. dispatcher-servlet.xml 생성


src/main/webapp/WEB-INF 경로에서 폴더를 하나 더 만들어서 dispatcher 파일을 생성하겠습니다.
3번과 같은 방식으로 폴더를 생성하고  [New] → [Other]에서 xml 선택 후 파일명 입력하고 완료합니다.

 

xml 생성 1
xml 생성 2

 

아래 코드를 입력하여 파일을 수정합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.0.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
                        http://www.springframework.org/schema/aop
                        http://www.springframework.org/schema/aop/spring-aop.xsd">                
 
    
    <context:component-scan base-package="springTest" use-default-filters="false"> 
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
 
 
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/com/" />
        <property name="suffix" value=".jsp" />
    </bean>
    
      
</beans>
cs


예시 코드를 확인하시고 base-package 설정하고 preifx, suffix의 value 값을 각자의 프로젝트에 맞게 수정하여 사용하시면 됩니다.

** 예시의 경우 base-package는 src/main/java 다음의 폴더명으로 설정하였고, prefix는 src/main/webapp 뒤의 폴더 트리로 설정하였음

 

5. web.xml 설정

 

이제 src/main/webapp/WEB-INF 경로에 기본으로 생성되는 web.xml 파일을 수정하겠습니다.
web.xml 파일은 이렇게 생성이 되어있을 겁니다.

 

기본 web.xml


web.xml 파일에 4번에서 생성한 dispatcher-servlet.xml 경로 설정과 url-pattern 설정을 추가해주도록 하겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!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>
  
    <servlet>
       <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/config/dispatcher-servlet.xml
            </param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
  
  
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    
</web-app>
cs

 

 

반응형

 

6. URL 테스트

 

마지막으로 오늘 설정한 작업이 제대로 동작하는지 확인해보도록 하겠습니다.

localhost:8080/프로젝트명/컨트롤러에 설정한 value 

 

Tomcat 서버를 실행하고 위 URL로 접속해보겠습니다.

오늘 설정한 작업을 예로 들면 "http://localhost:8080/testProject/urlTest" 가 되겠네요.

 

url test

 

정상적으로 화면이 뜨네요. 오늘도 목표 달성입니다 ^^

728x90
반응형