Spring MVC 웹 프로젝트 구축 - XML 기반 설정

Spring MVC 웹 애플리케이션 구현 절차는 다음과 같습니다: 1. 프레임워크 의존성 설정 2. 서블릿 컨테이너 구성 3. 요청 처리 로직 및 뷰 템플릿 생성 4. 배포 및 실행

핵심 개념: Spring MVC 환경 구축은 필요한 라이브러리 의존성을 정의하는 과정이며, 서블릿 매핑 및 스프링 설정 파일 구성은 요청 처리 파이프라인을 형성합니다.

1. 프레임워크 의존성 관리

  • Maven 기반 프로젝트 생성 시 필수 설정 항목 groupId: com.example.mvc.demo artifactId: mvc-webapp archetypeArtifactId: maven-archetype-webapp

1.1 Maven 프로젝트 생성

  1. Eclipse에서 New -> Maven Project 선택
  2. Archetype 타입 지정 후 groupId와 artifactId 입력

1.2 의존성 추가 pom.xml에 다음 내용 추가하여 자동 다운로드:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.20</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

2. 서블릿 컨테이너 설정 web.xml에 다음 내용 추가:

<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-mvc-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

2.1 스프링 설정 파일 구성 WEB-INF 폴더 하위에 spring-mvc-config.xml 작성:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="...">

    <context:component-scan base-package="com.example.controllers" />
    <mvc:annotation-driven />

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

3. 컨트롤러 및 뷰 개발

  • 컨트롤러 클래스 예시:
package com.example.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/api")
public class HomeController {
    
    @RequestMapping("/greet")
    public String greetUser() {
        return "greeting";
    }
}
  • 뷰 템플릿 위치: WEB-INF/views/greeting.jsp

4. 배포 및 실행

태그: Spring MVC XML Configuration maven Servlet Mapping JSP View

7월 3일 18:12에 게시됨