230313 Spring Boot (WEB MVC)

kangjuju·2023년 3월 13일
0

Spring

목록 보기
4/13
post-thumbnail

Spring Boot 개발 환경설정

Spring은 개발환경 설정에 있어 초기 설정들이 많다.
이로 인해 Spring으로 개발을 하려면 진입 장벽이 있다. 이러한 초기 설정을 간편하게 해주기 위해 등장한 것이 Spring Boot.

이는 Spring과 다르게 Tomcat과 같은 웹 서버를 내장하여 별도의 웹 서버를 설치하지 않아도 되고 Spring과 외부 라이브러리를 자동으로 구성한다.
즉, 개발자의 편의를 위해 개발된 도구다.

다시말해 Spring Boot는 스프링 프레임웍을 사용하는 프로젝트를 아주 간편하게 setup할 수 있는 스프링 프레임워크의 서브프로젝트다.


Spring 프로젝트 파일.

  • html은 무조건 static에서 작성하고, 서버실행과 핵심로직 구현은 java에서 작성한다.
@SpringBootApplication
public class Sprweb1Application {
	public static void main(String[] args) {
		SpringApplication.run(Sprweb1Application.class, args);
	}
}
  • @SpringBootApplication 해당 어노테이션으로 Spring의 메인 실행 함수임을 명시한다.

  • application.properties : 추가적인 환경설정을 작성한다. ex) server.port = 80

Spring boot JSP

  • Spring boot에서는 jsp의 사용을 권하지않는다.
    jsp개발을 위해서는 약간의 초기설정이 필요하니 링크를 확인하자.

Spring MVC

1) 스프링 MVC의 주요 구성 요소

  • DispatcherServlet : 클라이언트의 요청을 전달받는다. 컨트롤러에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과값을 view에 전달하여 알맞은 응답을 생성하도록 한다.

  • HandlerMapping : 클라이언트의 요청URL을 어떤 컨트롤러가 처리할지를 결정한다.

  • Controller : 클라이언트의 요청을 처리한뒤, 그 결과를 DispatcherServlet 에 알려준다.

  • ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.

  • ViewResolver : 컨트롤러의 처리결과를 생성할 뷰를 결정한다.
  • View : 화면 생성 일반적인 Spring Model View Controller 아키텍처 에서 Front Controller 의 개념을 그림으로 보면 아래와 같다 .
    주요 역할
  • 수신 요청 가로채기
  • 요청의 페이로드를 데이터의 내부 구조로 변환
  • 추가 처리를 위해 데이터를 모델로 전송
  • 모델에서 처리된 데이터를 가져 오고 렌더링을 위해 해당 데이터를 보기로 이동
    이 때 DispatcherServlet은 아키텍처에서 Front Controller 역할을 한다 .


  1. 클라이언트의 요청을 DistpatcjerServler에 전달

  2. 요청한 url에 맞는 controller 검색하여 HandlerMapping에 전달

  3. HandlerMapping에서 해당 controller에 처리 요청

  4. controller에서 처리 결과를 HandlerAdapter에서 ModelAndView 객체로 변환하여 DispatcherServlet에 전달

  5. DispatcherServlet에서 전달받은 ModelAndView 객체를 이용하여 매핑되는 View를 검색

  6. viewResolver에서 처리 결과를 view에 전달

  7. 처리결과가 포함된 view를 DispatcherServlet에 전달

  8. DispatcherServlet에서 최종 응답 결과를 클라이언트에게 출력

0개의 댓글