[내일배움캠프] TIL(3) Spring 입문주차🌱

Euiyeon Park·2026년 10월 6일

내일배움캠프

목록 보기
4/9
post-thumbnail

🍀 Gradle

  • Gradle 은 빌드 자동화 시스템으로, 작성한 Java코드를 설정에 맞게 자동으로 빌드해준다.
  • 여기서 빌드란, 소스코드를 실행 가능한 결과물로 만드는 과정이다. - .jar 파일

build.gradle

  • Gradle 기반의 빌드 스크립트(groovy, kotlin 언어로 작성)
  • 소스 코드를 빌드하고 라이브러리들의 의존성을 쉽게 관리하도록 한다.

🍀 WS(Web Server) / WAS(Web Application Server)

WS와 WAS 관련 포스팅 바로가기

WS(Web Server)

  • 클라이언트의 요청에 정적 컨텐츠 응답
  • 대표적으로 Apache, Nginx

WAS(Web Application Server)

  • 클라이언트의 요청에 동적 컨텐츠 생성 및 비즈니스 로직 실행
  • WS의 기능을 WAS에서도 처리 가능
  • 대표적으로 Apache Tomcat, JBoss

✨ [참고] WS와 WAS의 협력 관계

대부분 실무에서는 WS와 WAS를 함께 사용하는데,
웹 서버가 앞단에서 정적 요청을 먼저 처리하고 동적 처리가 필요할 때만 WAS로 넘겨 서버 과부하를 방지한다.

🍀 Spring MVC / Front Controller패턴 / Dispatcher Servlet

🍀 정적 페이지 vs 동적 페이지

템플릿 엔진 유무에 따른 HTML 처리

구분템플릿 엔진⭕ (Ex. Thymeleaf)템플릿 엔진❌
HTML 위치src/main/resources/templates/src/main/resources/static/
HTML 성격동적 View정적 HTML
주 용도동적 HTML(View) 생성정적 HTML 제공 또는 API 응답
처리 방식템플릿 엔진이 HTML을 렌더링정적 파일을 그대로 응답
Model 데이터 사용가능불가능
주요 처리 주체ViewResolver + Template EngineStatic Resource Handler
  • templates/ : 서버에서 데이터를 적용해 렌더링하는 View
  • static/ : 별도의 렌더링 없이 그대로 제공하는 정적 리소스

예제코드

@Controller
public class HtmlController {

    @GetMapping("/html/hello")
    public String hello() {
        return "hello";
    }
}

템플릿 엔진이 있는 경우

HTTP 요청
   ↓
DispatcherServlet
   ↓
Controller
   ↓
return "hello"
   ↓
ViewResolver
   ↓
Template Engine
   ↓
templates/hello.html
   ↓
HTML 응답

템플릿 엔진이 없는 경우

HTTP 요청
   ↓
DispatcherServlet
   ↓
Controller
   ↓
정적 리소스 처리
   ↓
Static Resource Handler
   ↓
static/hello.html
   ↓
HTML 응답

@ResponseBody와 Jackson 라이브러리, ObejectMapper까지


profile
"개발자는 해결사이자 발견자이다✨" - Michael C. Feathers

0개의 댓글