[Spring]7. controller 개념 설명

최혜원·2024년 2월 7일

Spring

목록 보기
7/9
  1. 정적 컨텐츠 : 서버에서 하는 것 없이 그저 웹 브라우저에 출력
  2. MVC 와 템플릿 엔진
  • 템플릿 엔진 : 서버에서 프로그래밍을 해서 html을 동적으로 바꿔서 내리는 것
    ex) JSP, PHP
  • 그걸 하기 위해 controller, 모델, 화면 이 세가지를 모델-뷰-컨트롤러 MVC라고 한다
  1. API : JSON 이라는 데이터 구조 포맷으로 클라이언트한테 전달하는 방식
  • API로 데이터만 내려주면 화면은 클라이언트가 알아서 그리고, 정리하는 방식

MVC는 Model-View-Controller의 약자로, 소프트웨어 아키텍처 디자인 패턴 중 하나이며 이 패턴은 소프트웨어를 세 가지 요소로 분할한다.

모델(Model) : 데이터와 비즈니스 로직을 처리하는 부분
데이터의 상태를 유지하고, 데이터베이스와의 상호 작용, 데이터의 유효성 검사 등을 담당

뷰(View): 사용자에게 데이터를 표시하는 부분
HTML, XML, JSON 등의 형식으로 데이터를 표시하고, 사용자 인터페이스를 생성

컨트롤러(Controller) : 사용자 입력을 받고 그에 따라 모델과 뷰를 조작하는 부분
사용자의 요청을 처리하고, 적절한 데이터를 모델에 요청하거나 모델에서 받아온 데이터를 뷰에 전달하여 사용자에게 응답을 생성

템플릿 엔진은 MVC 아키텍처에서 뷰(View)를 구현하는 데 사용되는 도구 중 하나이다.
템플릿 엔진은 동적으로 생성된 내용을 포함하는 HTML 페이지를 생성하기 위해 서버 측에서 프로그래밍을 수행하면서 주로 서버 측 코드와 함께 사용되며, 주로 HTML 문서 내에서 변수, 반복문, 조건문 등을 처리하는 데 도움이 된다

예를 들어, JSP(JavaServer Pages)나 PHP는 템플릿 엔진의 한 종류로, 서버 측에서 프로그래밍을 통해 동적인 웹 페이지를 생성 하고, 사용자의 요청에 따라 적절한 데이터를 가져오고, 이를 HTML 템플릿에 삽입하여 최종적으로 클라이언트에게 전달한다.
이러한 템플릿 엔진을 이용하면 MVC 아키텍처에서 뷰를 구현하는 과정을 단순화하고, 유지보수성을 높일 수 있다.

<파일 위치로 알아보자>
1. main - resources - static 아래에 html 파일을 만들어서 실행하면,
controll가 우선순위를 갖고, 파일 명관련 컨트롤러를 찾는다.
없으면, 내부 리소스 안에 있는 html 파일을 찾아서 웹브라우저로 준다.

profile
공부하자

0개의 댓글