logo

스프링 MVC 튜토리얼

Spring MVC는 웹 애플리케이션을 구축하는 데 사용되는 Java 프레임워크입니다. 이는 모델-뷰-컨트롤러 디자인 패턴을 따릅니다. 이는 제어 역전, 종속성 주입과 같은 핵심 스프링 프레임워크의 모든 기본 기능을 구현합니다.

Spring MVC는 다음의 도움으로 스프링 프레임워크에서 MVC를 사용하는 우아한 솔루션을 제공합니다. DispatcherServlet . 여기, DispatcherServlet 들어오는 요청을 수신하고 이를 컨트롤러, 모델, 뷰와 같은 올바른 리소스에 매핑하는 클래스입니다.

Spring 웹 모델-뷰-컨트롤러

스프링 MVC 튜토리얼
    모델- 모델에는 애플리케이션의 데이터가 포함됩니다. 데이터는 단일 개체일 수도 있고 개체 모음일 수도 있습니다.제어 장치- 컨트롤러에는 애플리케이션의 비즈니스 로직이 포함되어 있습니다. 여기서 @Controller 주석은 클래스를 컨트롤러로 표시하는 데 사용됩니다.보다- 뷰는 제공된 정보를 특정 형식으로 나타냅니다. 일반적으로 JSP+JSTL을 사용하여 뷰 페이지를 생성합니다. Spring은 Apache Velocity, Thymeleaf 및 FreeMarker와 같은 다른 뷰 기술도 지원합니다.전면 컨트롤러- Spring Web MVC에서는 DispatcherServlet 클래스가 전면 컨트롤러로 작동합니다. Spring MVC 애플리케이션의 흐름을 관리하는 역할을 담당합니다.

Spring Web MVC의 흐름 이해

스프링 MVC 튜토리얼
  • 그림에 표시된 것처럼 들어오는 모든 요청은 전면 컨트롤러로 작동하는 DispatcherServlet에 의해 차단됩니다.
  • DispatcherServlet은 XML 파일에서 핸들러 매핑 항목을 가져와 컨트롤러에 요청을 전달합니다.
  • 컨트롤러는 ModelAndView의 객체를 반환합니다.
  • DispatcherServlet은 XML 파일에서 뷰 해석기의 항목을 확인하고 지정된 뷰 컴포넌트를 호출합니다.

Spring MVC 프레임워크의 장점

Spring MVC 프레임워크의 장점 중 일부를 살펴보겠습니다.

    별도의 역할- Spring MVC는 모델 객체, 컨트롤러, 명령 객체, 뷰 확인자, DispatcherServlet, 유효성 검사기 등이 특수 객체에 의해 수행될 수 있는 각 역할을 분리합니다.경량- 경량 서블릿 컨테이너를 사용하여 애플리케이션을 개발하고 배포합니다.강력한 구성- 웹 컨트롤러에서 비즈니스 개체 및 유효성 검사기에 이르기까지 컨텍스트 전반에 걸쳐 쉽게 참조할 수 있는 프레임워크와 애플리케이션 클래스 모두에 대한 강력한 구성을 제공합니다.급속 성장- Spring MVC는 빠르고 병렬적인 개발을 촉진합니다.재사용 가능한 비즈니스 코드- 새로운 객체를 생성하는 대신 기존 비즈니스 객체를 사용할 수 있습니다.테스트하기 쉬움- Spring에서는 일반적으로 setter 메소드를 사용하여 테스트 데이터를 주입할 수 있는 JavaBeans 클래스를 생성합니다.유연한 매핑- 페이지를 쉽게 리디렉션할 수 있는 특정 주석을 제공합니다.

Spring 웹 MVC 프레임워크 예제

Spring 웹 MVC 프레임워크의 간단한 예를 살펴보겠습니다. 단계는 다음과 같습니다:

  • Spring jar 파일을 로드하거나 Maven의 경우 종속성을 추가합니다.
  • 컨트롤러 클래스 생성
  • web.xml 파일에 컨트롤러 항목 제공
  • 별도의 XML 파일에 Bean을 정의하십시오.
  • JSP 페이지에 메시지 표시
  • 서버 시작 및 프로젝트 배포

Spring MVC의 디렉토리 구조

스프링 MVC 튜토리얼

Maven을 사용한 Spring MVC의 디렉토리 구조

스프링 MVC 튜토리얼

필수 Jar 파일 또는 Maven 종속성

이 예제를 실행하려면 다음을 로드해야 합니다.

해시테이블 자바
  • 스프링 코어 jar 파일
  • Spring 웹 jar 파일
  • JSP + JSTL jar 파일(다른 보기 기술을 사용하는 경우 해당 jar 파일을 로드합니다.)

다운로드 링크: JSP 및 JSTL을 포함하여 spring용 모든 jar 파일을 다운로드합니다.

Maven을 사용하는 경우 jar 파일을 추가할 필요가 없습니다. 이제 pom.xml 파일에 maven 종속성을 추가해야 합니다.

1. pom.xml 파일에 프로젝트 정보와 구성을 제공합니다.

pom.xml

 4.0.0 com.javatpoint SpringMVC war 0.0.1-SNAPSHOT SpringMVC Maven Webapp http://maven.apache.org junit junit 3.8.1 test org.springframework spring-webmvc 5.1.1.RELEASE javax.servlet servlet-api 3.0-alpha-1 SpringMVC 

2. 컨트롤러 클래스 생성

컨트롤러 클래스를 생성하기 위해 @Controller 및 @RequestMapping이라는 두 개의 주석을 사용합니다.

@Controller 주석은 이 클래스를 Controller로 표시합니다.

@Requestmapping 주석은 클래스를 지정된 URL 이름으로 매핑하는 데 사용됩니다.

HelloController.java

 package com.javatpoint; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping('/') public String display() { return 'index'; } } 

3. web.xml 파일에 컨트롤러 항목을 제공합니다.

이 xml 파일에서는 Spring Web MVC의 전면 컨트롤러 역할을 하는 서블릿 클래스 DispatcherServlet을 지정합니다. html 파일에 대한 모든 수신 요청은 DispatcherServlet으로 전달됩니다.

web.xml

 SpringMVC spring org.springframework.web.servlet.DispatcherServlet 1 spring / 

4. xml 파일에 빈을 정의합니다.

이는 View 구성 요소를 지정하는 데 필요한 중요한 구성 파일입니다.

context:comComponent-scan 요소는 DispatcherServlet이 컨트롤러 클래스를 검색할 기본 패키지를 정의합니다.

이 xml 파일은 WEB-INF 디렉터리 내에 있어야 합니다.

봄-servlet.xml

 

5. JSP 페이지에 메시지를 표시합니다.

이것은 컨트롤러가 반환한 메시지를 표시하는 간단한 JSP 페이지입니다.

index.jsp

Spring MVC 튜토리얼에 오신 것을 환영합니다.

산출:

자바 람다 예

스프링 MVC 튜토리얼
이 예제 다운로드(Eclipse를 사용하여 개발)


스프링 MVC 인덱스


스프링 MVC

스프링 MVC 양식

  • 양식 태그 라이브러리
  • 양식 텍스트 필드
  • 양식 라디오 버튼
  • 양식 확인란
  • 양식 드롭다운 목록

스프링 MVC 애플리케이션

  • MVC CRUD 예
  • MVC 페이지 매김 예
  • 파일 업로드 예

스프링 MVC 검증

  • 스프링 MVC 검증
  • 정규식 유효성 검사
  • 번호 확인
  • 맞춤형 검증

스프링 MVC 타일

  • 스프링 MVC 타일