1️⃣ 서블릿이란? 자바 서블릿은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 🔹 웹 애플리케이션 서버를 직접 구현하면? 서버에서는 어떤 업무를 처리해야 할까? 서버 TCP/IP 연결 대기, 소켓 연결 HTTP 요청 메시지를 파싱해서 읽기 POST 방식, /save URL 인지 Content-Type 확인 HTTP 메시지 바디 내용 파싱 username, age 데이터를 사용할 수 있게 파싱 저장 프로세스 실행 비즈니스 로직 실행 데이터베이스에 저장 요청 HTTP 응답 메시지 생성 시작 HTTP 시작 라인 생성 Header 생성 메시지 바디에 HTML 생성..
1️⃣ 타임리프(Thymeleaf) 타임리프는 스프링 부트에서 공식적으로 지원하는 View 템플릿 엔진이다. 컨트롤러가 전달하는 데이터를 이용해 동적으로 화면을 구성해 준다. 🔹 타임리프 대표적인 특징 JSP와 달리 Thtmeleaf 문서는 HTML 확장자를 가지고 있어 서버상에서 동작하지 않아도 파일의 내용을 확인할 수 있다. 순수 HTML 구조를 유지한다. 따라서 Natural Template이라고도 불린다. 화면 구성을 서버 가동 없이 쉽게 파악할 수 있기 때문에 개발에 용이하다. 2️⃣ 타임리프 사용 🔹 라이브러리 추가 타임리프 사용을 위해 build.gradle에 의존성을 추가해야 한다. implementation 'org.springframework.boot:spring-boot-starter..
⚙ 트랜잭션 스크립트 패턴 vs 도메인 모델 패턴 🔗 트랜잭션 스크립트 패턴이란? 하나의 트랜잭션으로 구성된 로직을 단일 함수 또는 단일 스크립트에서 처리하는 구조 Entity에는 비즈니스 로직이 거의 없고, Service Layer에서 대부분의 비즈니스를 처리하는 것 🔗 도메인 모델 패턴이란? Entity에서 비즈니스 로직을 가지고 객체 지향의 특성을 적극 활용하는 것 대부분의 비즈니스 로직이 Entity 안에 구성되어 있다. Service Layer는 Entity에 필요한 역할을 위임하는 역할을 함 🔗 장단점 패턴명 트랜잭션 스크립트 도메인 모델 장점 - 구현 방법의 단순함 - 얼마나 모듈화를 잘하느냐에 따라 높은 효율을 낼 수 있음. - 객체 지향에 기반한 재사용성, 확장성, 유지 보수의 편리함 단..
해당 게시글은 김영한님 MVC 강의 1편을 듣고 작성한 게시글입니다! 1️⃣ Model 객체란? Model 객체는 Controller에서 생성된 데이터를 담아 View로 전달할 때 사용하는 객체이다. MVC 패턴에서 Model의 역할을 수행한다. 2️⃣ @RequestParam 어노테이션 @ModelAttribute를 알아보기 전에 @RequestParam에 대해 알아보자. @PostMapping("/add") public String addItemV1(@RequestParam String itemName, @RequestParam int price, @RequestParam Integer quantity, Model model){ Item item = new Item(); item.setItemName..