Spring Web MVC - 모델(Model) 폼 데이터 처리
·
Spring
Spring MVC에서 폼 데이터를 처리하는 다양한 방식을 통해 모델을 이해MVC 패턴 이해Model: 데이터와 비즈니스 로직을 담당. 컨트롤러에서 데이터를 준비하여 뷰로 전달.View: 사용자 인터페이스(UI)를 담당. Model 데이터를 바탕으로 화면 렌더링.Controller: 사용자의 요청을 처리하고, 적절한 데이터를 준비하여 뷰를 반환.폼 데이터 흐름클라이언트가 HTML 폼 데이터를 전송.컨트롤러가 데이터를 수신하고 처리.데이터를 뷰로 전달하여 사용자에게 결과를 반환.수업코드package com.example.model.controller;import com.example.model.dto.FormTO;import jakarta.servlet.http.HttpServletRequest;impor..
Spring Web MVC - 세션(Session)
·
Spring
https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/httpsession HttpSession (Jakarta Servlet API documentation)public interface HttpSession Provides a way to identify a user across more than one page request or visit to a Web site and to store information about that user. The servlet container uses this interface to create a session between an HTTP client and an HTjakarta...
Spring Web MVC - 쿠키(Cookie)
·
Spring
https://jakarta.ee/specifications/servlet/5.0/apidocs/jakarta/servlet/http/cookie Cookie (Jakarta Servlet API documentation)All Implemented Interfaces: Serializable, Cloneable public class Cookie extends Object implements Cloneable, Serializable Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the sjakarta.ee 1. 쿠키란?..
Spring Web MVC - HTTP 요청 파라미터 처리
·
Spring
Spring MVC에서는 폼 데이터에서 파라미터를 가져오는 다양한 방식을 지원합니다. HTTP 요청 데이터를 처리하는 방법은 요청의 유형(GET, POST 등), 데이터의 위치(쿼리 파라미터, 폼 데이터, JSON 등), 그리고 개발자가 필요로 하는 데이터 구조에 따라 달라질 수 있습니다.1. @RequestParam폼 데이터 또는 쿼리 파라미터 값을 가져올 때 사용합니다.주로 사용하는 경우:GET 요청 쿼리 파라미터POST 요청의 application/x-www-form-urlencoded 데이터특징:요청 파라미터 이름과 메서드 매개변수 이름이 같아야 자동 매핑됩니다.필수 여부(required)와 기본값(defaultValue)을 지정할 수 있습니다.예제@RestController 사용@GetMappi..
Spring Web MVC - HTTP 요청 RequestMapping
·
Spring
Spring Boot의 @RequestMapping은 Spring MVC에서 HTTP 요청을 특정 컨트롤러 메서드에 매핑하기 위해 사용됩니다. 웹 애플리케이션 개발에서 URL 경로와 해당 경로를 처리할 메서드를 연결하는 중요한 어노테이션입니다.1. @RequestMapping의 기본 개념역할: HTTP 요청(예: GET, POST, PUT, DELETE 등)을 특정 컨트롤러 클래스나 메서드에 매핑합니다.적용 위치:클래스 레벨: 기본 URL 경로 설정.메서드 레벨: 세부 경로 및 HTTP 메서드 설정.2. 주요 속성 (Attributes)속성설명예시value 또는 path요청 URL 경로를 지정. 단일 경로나 배열 형태로 가능.@RequestMapping("/users")methodHTTP 메서드 지정 (..
SpringBoot 웹 애플리케이션의 MVC 패턴
·
Spring
MVC의 철학적 기반역할 분리의 중요성각 구성 요소가 자신의 책임만 다하면 다른 요소가 변경되더라도 최소한의 영향을 받습니다.애플리케이션의 복잡성을 줄이고, 디버깅과 유지보수를 용이하게 합니다.MVC의 핵심은 "하나의 요소는 하나의 역할만 수행해야 한다"는 원칙에서 출발합니다. 이는 소프트웨어 개발의 관심사 분리(Separation of Concerns) 원칙과 직결됩니다.사용자와 시스템의 상호작용 모델링MVC는 이러한 상호작용을 단계적으로 나누어 체계적으로 정리합니다.사용자는 단순히 데이터를 요청하거나 입력하지만, 시스템 내부에서는 이를 처리하고 응답하기 위해 다양한 로직이 수행됩니다.1. Model (모델)개념:모델은 애플리케이션의 데이터와 그 데이터를 처리하는 비즈니스 로직을 담당합니다.데이터베이스..
답글이 있는 게시판 만들기
·
Spring
1. 설계 개요1-1. 주요 필드 정의필드명설명seq글번호(순서). 게시판의 모든 글(댓글, 답글 포함)에 대해 고유한 번호. 자동 증가 (AUTO_INCREMENT).grp글그룹. 하나의 글과 그에 속한 모든 답글이 동일한 grp 값을 가짐.grps그룹 내 순서. 같은 그룹(grp) 내에서의 정렬 순서를 나타냄.grpl그룹 내 깊이. 댓글은 0, 답글은 1 이상으로 계층적 깊이를 나타냄.2. 테이블 구조2-1. 테이블 생성rep_board1 테이블은 댓글과 답글을 포함한 계층적 데이터를 관리합니다.CREATE TABLE rep_board1 ( seq INT AUTO_INCREMENT PRIMARY KEY, -- 고유 글번호 grp INT NOT NULL, ..
JSP로 페이징 구현하기
·
Spring
1. 변수 설명페이지 관련 변수변수명설명cpage현재 페이지 번호 (기본값: 1).recordPerPage한 페이지에 표시할 데이터 수 (예: 10개).blockPerPage한 화면에 표시할 페이지 블록 수 (예: 5개).totalRecord전체 데이터 개수.totalPage전체 페이지 수 (총 데이터 수를 페이지당 데이터 수로 나눈 값).skip현재 페이지에서 건너뛸 데이터 수 ((cpage - 1) * recordPerPage).2. 계산식 분석전체 페이지 계산전체 데이터를 기준으로 필요한 페이지 수를 계산합니다. (totalRecord - 1)로 계산하면 전체 데이터가 recordPerPage로 나누어떨어질 때도 올바른 페이지 수를 얻을 수 있습니다.totalPage = ((totalRecord -..
MVC 패턴이란?
·
Spring
MVC 패턴(Model-View-Controller)은 소프트웨어 아키텍처 패턴 중 하나로, 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 역할로 나눠서 구성하는 방식입니다. 이 패턴은 코드의 재사용성, 유지보수성, 확장성을 높이는 데 유용하며, 특히 웹 애플리케이션 개발에서 널리 사용됩니다.MVC 패턴의 구성 요소와 역할1. Model (모델)애플리케이션의 핵심 데이터와 비즈니스 로직을 담당합니다.데이터베이스와 상호작용하여 데이터를 가져오거나 저장합니다.상태를 저장하고 관리하며, 변경 사항을 알릴 수 있습니다.역할:데이터를 정의하고 관리 (예: 객체, 데이터베이스 레코드).비즈니스 로직 실행.뷰나 컨트롤러가 요청한 데이터를 제공합니다.2. View (뷰)사용자..
Spring Web MVC - Http 요청
·
Spring
1. HTTP 요청과 Spring MVCSpring Boot는 HTTP 요청을 처리하기 위해 DispatcherServlet이라는 중앙 컨트롤러를 사용합니다. DispatcherServlet은 클라이언트의 요청을 받아, 적절한 컨트롤러 메서드에 요청을 전달하고 결과를 반환합니다.2. HTTP 요청 처리 흐름1. 클라이언트 요청브라우저나 HTTP 클라이언트가 /form_ok.do와 같은 URL로 요청을 보냅니다.2. DispatcherServlet 요청 수신Spring Boot의 DispatcherServlet이 모든 HTTP 요청을 가로챕니다.3. Handler MappingDispatcherServlet은 요청 URL에 해당하는 컨트롤러와 메서드를 찾습니다.4. 컨트롤러 메서드 실행요청 매핑된 컨트롤러..