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 프로젝트 생성
- Eclipse에서 New -> Maven Project 선택
- 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. 배포 및 실행
- Tomcat 서버에 WAR 파일 배포
- 브라우저에서 http://localhost:8080/mvc-demo/api/greet 접근