[Spring] MVC 웹페이지 구현 - Eclipse & xml 설정

2020. 10. 7. 09:24개발공부/Spring

728x90

MVC 패턴을 이용해 클라이언트 요청이 오면 웹페이지를 띄워주는 본격적인 Spring으로 웹 구현하기에 돌입했습니다. 

클라이언트가 요청(request)를 보내면 Tomcat 서버를 통해 DispatchServlet이 받아줍니다. Controller는 요청에 맞는 응답(response)를 반환하고 다시 DispatchServlet으로 간다음 ViewResolver가 클라이언트에 보여줄 View 페이지를 찾아 반환해줍니다. 이러한 일련의 요청-응답(request-response)과정이 MVC 패턴입니다.

1) Spring을 위한 IDE 설정

-강의 IDE는 Ecplise를 사용합니다.-

우선 pom.xml 파일에 관련된 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
   
    <modelVersion>4.0.0</modelVersion>
    <groupId>sp</groupId>
    <artifactId>spring08</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
 
    <dependencies>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.1.0.RELEASE</version>
        </dependency>
        <!-- DB연동 관련 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.1.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.2.1</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>utf-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
 
</project>
cs

다음으로 Tomcat 서버 연결하기 다운로드 링크

 

Apache Tomcat® - Apache Tomcat 9 Software Downloads

Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version

tomcat.apache.org

Spring 구현 중심으로 설명할 것이기 때문에 서버 연결 방법이 궁금하시면 구글을 이용해주세요.

마지막으로 Help > Eclipse Marketplace으로 들어가서 Spring 관련된 Add on을 plug in 해줍니다.

마지막이 아니었군요. web.xml 설정을 해줘야합니다. 주로 DispatchServlet 관련된 설정을 추가해줍니다. 구체적으론 요청이 어떻게 들어왔을 때 mapping 해주는지, Controller xml파일은 무엇인지, 그리고 한글 인코딩을 위한 UTF-8 필터입니다.

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
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>spring08</display-name>
  
  <servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
<!-- controller path 입력 -->
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>
              classpath:spring-mvc.xml
              classpath:spring-controller.xml
              classpath:spring-member.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>
  
<!-- 한글 인코딩 filter -->
  <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>
  </filter>
  
  <filter-mapping>
      <filter-name>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping> 
</web-app>
cs

글이 길어져 간단한 웹페이지 구현은 다음 글에서 다루겠습니다.