Home > 2024 > Spring & Spring Boots > ๐Ÿƒ[Spring] ์ •์  ์ปจํ…์ธ 

๐Ÿƒ[Spring] ์ •์  ์ปจํ…์ธ 
Spring Framework

์ •์  ์ปจํ…์ธ .

์›น์„ ๊ฐœ๋ฐœํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํฌ๊ฒŒ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

  1. ์ •์  ์ปจํ…์ธ : ์„œ๋ฒ„์—์„œ์˜ ๋ณ„๋‹ค๋ฅธ ์ž‘์—… ์—†์ด ํŒŒ์ผ์„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๊ทธ๋Œ€๋กœ ๋‚ด๋ ค์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.
  2. MVC์™€ ํ…œํ”Œ๋ฆฟ ์—”์ง„: JSP, PHP ๋“ฑ ํ™œ์šฉํ•˜์—ฌ HTML์„ ๊ทธ๋ƒฅ ์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์„œ๋ฒ„์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•ด์„œ HTML์„ ๋™์ ์œผ๋กœ ๋ฐ”๊ฟ”์„œ ๋‚ด๋ ค์ฃผ๋Š” ๊ฒƒ์„ ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด๋ผ๊ณ  ๋งํ•˜๋ฉฐ, ๊ทธ๊ฒƒ์„ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ Model-View(ํ…œํ”Œ๋ฆฟ ์—”์ง„ ํ™”๋ฉด)-Controller ์ด ์„ธ๊ฐ€์ง€๋ฅผ MVC๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
  3. API: JSON์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ตฌ์กฐ ํฌ๋งท์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋ณดํ†ต API ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

โ€œ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์ž๋™์œผ๋กœ ์ •์  ์ปจํ…์ธ  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.โ€

<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" conten="text/html"; charset="UTF-8" />
  <title>Static Content</title>
</head>
<body>
์ •์  ์ปจํ…์ธ  ์ž…๋‹ˆ๋‹ค.
</body>
</html>

  • Spring Boot Docs์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช…์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. โ€œ๊ธฐ๋ณธ์ ์œผ๋กœ Spring Boot๋Š” \static ์ด๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์ •์  ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.โ€

Spring Boot Docs - Static Content ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

โ€œ์œ„ ๊ทธ๋ฆผ์€ ํฐ ๊ฐœ๋…์„ ์žก๊ธฐ ์œ„ํ•˜์—ฌ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.โ€
Spring MVC๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ•™์Šตํ•˜๋ฉด์„œ ๊นŠ์ด์žˆ๊ฒŒ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ์ด ๋‚ด๋ถ€์— ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ๋งŽ์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ง€๊ธˆ ์ด ํฌ์ŠคํŒ…์˜ ๋ชฉ์  ์ž์ฒด๋Š” โ€œ๋””ํ…Œ์ผโ€ ๋ณด๋‹ค๋Š” โ€œํฌ๊ฒŒ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋ชฉ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.โ€
์ฆ‰, โ€˜ํฐ ๊ทธ๋ฆผ์„ ๋ณด๋Š” ๊ฒƒโ€™์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • ๋จผ์ € โ€œlocalhost:8080/hello-static.htmlโ€์„ ์ ‘์†ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ œ์ผ ์ฒ˜์Œ์— ๋‚ด์žฅ ํ†ฐ์ผ“ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
      1. ๊ทธ๋Ÿฌ๋ฉด ๋‚ด์žฅ ํ†ฐ์ผ“ ์„œ๋ฒ„๊ฐ€ โ€œhello-static.html์ด ์™”๋ฐ์š”~โ€ํ•˜๊ณ  โ€œSpringโ€์—๊ฒŒ ๋„˜๊น๋‹ˆ๋‹ค.
    • ์ด๋•Œ, Spring์€ Controller์—์„œ hello-static์ด ์žˆ๋Š”์ง€ ์ฐพ์•„๋ด…๋‹ˆ๋‹ค.
      • โ€œ์ฆ‰, Controller๊ฐ€ ๋จผ์ € ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ๋œป ์ž…๋‹ˆ๋‹ค.โ€

  • ์ปจํŠธ๋กค๋Ÿฌ ๋‚ด๋ถ€๋ฅผ ๋ณด๋‹ˆ โ€œhello-staticโ€ ๊ด€๋ จ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์—†์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋”ฐ๋ผ์„œ ์ดํ›„์— ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” โ€œresources: static/hello-static.htmlโ€์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
      • ๊ทธ๋ž˜์„œ โ€œ์˜ค ์žˆ๋‹ค!!โ€ ํ•˜๊ณ  ์ฐพ์œผ๋ฉด ๋ฐ”๋กœ โ€œhello-static.htmlโ€์„ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.