
Gradle 은 빌드 자동화 시스템으로, 작성한 Java코드를 설정에 맞게 자동으로 빌드해준다..jar 파일대부분 실무에서는 WS와 WAS를 함께 사용하는데,
웹 서버가 앞단에서 정적 요청을 먼저 처리하고 동적 처리가 필요할 때만 WAS로 넘겨 서버 과부하를 방지한다.
| 구분 | 템플릿 엔진⭕ (Ex. Thymeleaf) | 템플릿 엔진❌ |
|---|---|---|
| HTML 위치 | src/main/resources/templates/ | src/main/resources/static/ |
| HTML 성격 | 동적 View | 정적 HTML |
| 주 용도 | 동적 HTML(View) 생성 | 정적 HTML 제공 또는 API 응답 |
| 처리 방식 | 템플릿 엔진이 HTML을 렌더링 | 정적 파일을 그대로 응답 |
Model 데이터 사용 | 가능 | 불가능 |
| 주요 처리 주체 | ViewResolver + Template Engine | Static Resource Handler |
templates/ : 서버에서 데이터를 적용해 렌더링하는 Viewstatic/ : 별도의 렌더링 없이 그대로 제공하는 정적 리소스@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까지