[스프링 입문] 스프링 웹 개발 기초-①정적 컨텐츠

enxnong·2023년 4월 18일
0

Spring

목록 보기
6/26

김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 보면서 공부한 내용입니다.

1. 웹 개발의 방법

1) 정적 컨텐츠

  • welcome page를 만들어서 전달했던 것처럼 html파일 자체를 그대로 웹브라우저에 전달해주는 방식

2) MVC와 템플릿 엔진

  • jsp, php 등 템플릿 엔진을 사용
  • 서버에서 프로그래밍 해서 html을 동적으로 바꿔서 내리는 것
  • Model, View, Controller
  • 정적 컨텐츠와의 차이는 서버에서 html을 무언가 바꿔서 내린다는 것

3) API

  • 안드로이드나 아이폰 클라이언트와 개발할때는 JSON형태로 정보를 전달하는데 이런 방식을 API 방식이라 한다.
  • Vue.js나 React도 API 방식으로 많이 사용
  • 서버끼리 통신할 때도 API 방식으로 사용

스프링 부트에서는 정적컨텐츠 기능을 자동으로 제공한다.

https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content

2. 실행방법

1) resources/static 경로에 원하는 html파일을 생성한다.

2) 테스트용 html소스를 입력한 후 주소창에 직접 url을 입력하여 요청한다.

💡 url에는 반드시 localhost:포드번호/ + 파일명.html으로 입력해야 된다.

3. 원리 설명

  1. 웹에서  localhost:8080/hello-static.html 요청하면 내장되어있는 톰캣서버가 요청을 받고, 스프링 컨테이너에게 전달한다.

  2. 첫번째로 컨트롤러에서 hello-static이 있는지 확인한다.

    → 그 이유는 컨트롤러가 우선순위를 가지고 있기 때문에 먼저 확인하는 것이다.

  3. hello-static과 맵핑이 되어있는 컨트롤러를 찾지 못하면 resources/static에서 hello-static이 있는지 확인한 후, 웹 브라우저에 전달한다.

profile
높은 곳을 향해서

0개의 댓글