Thymeleaf, JSP, Servlet, MVC에 대한 내용을 학습하고 정리했다.
Thymeleaf는 HTML과 자연스럽게 통합되는 템플릿 엔진으로, 서버에서 동적으로 데이터를 삽입하여 HTML을 생성할 수 있다.
HTML 원형을 유지하면서 변수 출력, 조건문, 반복문 등을 적용할 수 있어 동적 페이지 생성에 적합하다.
| 기능 구분 | 문법 예시 | 설명 |
|---|---|---|
| 텍스트 출력 | th:text="${user.name}" | HTML 태그 안에 값 출력 (XSS 방지) |
| 조건 분기 | th:if="${user != null}" | 조건에 따른 요소 렌더링 |
| 반복 처리 | th:each="item : ${items}" | 리스트 반복 출력 |
| 속성 설정 | th:href="@{/home}", th:classappend="..." | HTML 속성에 값 바인딩 |
| 조각 포함 | th:replace="fragment :: part" | 공통 영역 분리 및 재사용 |
| 폼 입력 | th:field="*{name}" | input, textarea, select에 모델 바인딩 |
| 메시지 | #{welcome.message} | 다국어 메시지 처리 (messages.properties) |
<% %> 사이에 Java 코드 작성).jsp대표적인 WAS: Tomcat (Spring Boot에도 내장되어 있다.)
| 항목 | JSP | Servlet |
|---|---|---|
| 정의 | HTML 안에 Java 코드 삽입 (서버 측 스크립트) | Java 코드로 작성된 서버 프로그램 |
| 역할 중심 | View (화면 출력) | Controller (로직 처리) |
| 작성 방식 | HTML 코드 안에 Java | Java 코드 안에 HTML |
| 사용 목적 | HTML 응답 생성 | 요청 처리, DB 접근, 비즈니스 로직 |
| 표준 위치 | JSP 표준 태그, JSTL | Java Servlet API |
| 기능 차이 | 표현 기능 강화 | 웹 요청을 동적으로 처리 |
| 수정/배포 | 수정 시 WAS가 자동 처리 | 수정 후 재컴파일 필요 |
| 추천 사용 | HTML 응답 페이지 | 로그인, DB 처리 등 로직 |
MVC는 Model, View, Controller로 역할을 분리하는 설계 패턴으로 유지보수성과 확장성을 높여준다.
10일까지 강의는 모두 수강했고, 앞으로 10일까지는 과제와 전에 사두고 수강안한 Spring 강의가 하나 있어 그것으로 미리 예습을 할 계획이다.