Spring_스프링 웹 개발 기초

Back/Spring 2023. 5. 3.
  • 정적 컨텐츠 : 서버에서 뭐 하는 거 없이 파일을 그대로 (웹 브라우저에) 올려주는 것

스프링 부트 정적 컨텐츠 기능

 

 

 

  1. 컨트롤러가 우선순위를 가지고 찾아 확인
  2. resources에서 static/hello-static.html를 찾음
  3. 반환

    *정적 컨텐츠 이미지

 

  • MVC와 템플릿 엔진 : 가장 많이하는 방식 (JSP, PHP) 

HTML을 그냥 주는 게 아니라 서버에서 프로그래밍을 해서 html을 동적 페이지으로 바꿔서 내려주는 것

MVC: Model, View, Controller

  • View : 화면을 그리는 데에 집중
  • Model, Controller : 비지니스 로직과 관련, 내부적인 걸 처리하는데 집중

  1. helloController에 맵핑이 되어있네? -> 메소드 호출
  2. return : hello-template / model(name:spring) 이거를 스프링에게 넘겨줌
  3. viewResolver 화면 해결자가 동작함 ( 뷰를 찾아주고 템플릿 엔진 연결해주고)
  4. 렌더링을해서 html 변환

*MVC, 템플릿 엔진 이미

 

  • API
    • JSON 데이터 구조 포맷으로 내려줌 -> 클라이언트에게 전달

1. @ResponseBody 문자 반환


페이지 소스. html 태그같은게 전혀 없는 걸 볼 수 있다

 

2. @ResponseBody 객체 반환

Key:Value의 JSON 방식으로 나온다

  1. '@ResponseBody' 를 사용
    1. HTTP의 BODY에 문자 내용을 직접 반환
    2. 'viewResolver' 대신에 'HttpMessageConverter' 가 동작
    3. 기본 문자처리: 'StringHttpMessageConverter'
    4. 기본 객체처리: 'MappingJackson2HttpMessageConverter'
    5. byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
> 참고: 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택된다. 

 

'Back > Spring' 카테고리의 다른 글

Spring_빌드하고 실행하기  (0) 2023.05.02
Spring_View 환경설정  (0) 2023.05.02
Spring_라이브러리  (0) 2023.05.02
Spring_프로젝트 생성 & 프로젝트 환경 설정  (0) 2023.05.01
Spring_00  (0) 2023.05.01