Web

    [Inflearn] 스프링 MVC (5) HTTP 요청

    [Inflearn] 스프링 MVC (5) HTTP 요청

    김영한 강사님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 강의 정리 2022.01.28 진행 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 💡 실무 핵심 정리 요청 파라미터 조회 (GET, POST) : @RequestParam, @ModelAttribute HTTP 메시지 바디를 직접 조회 : @RequestBody 1. HTTP 요청 클라이언트에서 서버로 요청 데이터를 전달하는 방식은 주로 3가지가 있다. GET - 쿼리 파라미터 전송 POST - HTML Form 전송 (메시지 Body에 쿼리 파라미터 형식으로 담음) HTTP 메시지 바디에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용 (주로 JSON) 2...

    [Inflearn] 스프링 MVC (4) 요청 매핑

    [Inflearn] 스프링 MVC (4) 요청 매핑

    김영한 강사님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 강의 정리 2022.01.27 진행 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 특정 파라미터 조건 매핑, 특정 헤더 조건 매핑은 생략하였음 1. PathVariable(경로 변수) 매핑 최근 HTTP API는 리소스 경로에 식별자를 넣는 다음과 같은 스타일을 선호하고, 실무에서 이런 스타일의 URL 경로를 정말 많이 쓴다고 한다. /mapping/userA /users/1 /** * PathVariable 사용 * 변수명이 같으면 생략 가능 * * @PathVariable("userId") String userId -> @PathVariable userId * /m..

    [Inflearn] 스프링 MVC (3) 로깅

    [Inflearn] 스프링 MVC (3) 로깅

    김영한 강사님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 강의 정리 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 로깅 코드 예제 import lombok.extern.slf4j.Slf4j; //import org.slf4j.Logger; //import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Slf4j //Lombok이 주석친 코드를 자동으로 넣어준다. @RestController public ..

    [Inflearn] 스프링 MVC (2) 구조 이해

    [Inflearn] 스프링 MVC (2) 구조 이해

    김영한 강사님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 강의 정리 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. DispatcherServlet DispatcherServlet은 스프링이 구현해놓은 FrontController 역할을 해주는 녀석으로, 부모 클래스 FrameworkServlet에서 HttpServlet을 상속받아 서블릿으로 동작한다. 스프링 부트는 DispatcherServlet을 서블릿으로 자동등록하면서 모든 경로(urlPatterns="\")에 대하여 매핑한다. 요청흐름 : 서블릿 호출 -> service() 호출 -> FrameworkServlet.service()호출 -> DispatcherServl..

    [Inflearn] 스프링 MVC (1) MVC 프레임 워크 만들기

    [Inflearn] 스프링 MVC (1) MVC 프레임 워크 만들기

    김영한 강사님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 강의 정리 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 템플릿 엔진이란? HTML에서 필요한 곳만 코드를 적용해서 동적 변경이 가능하게 해주는 소프트웨어 JSP, Thymeleaf 등이 있다. JSP는 너무 많은 역할을 떠안아 유지보수가 힘든 단점이 있다. 그래서 역할 분리를 위해 나온 것이 MVC 패턴이다. 요즘에는 Thymeleaf를 많이 사용한다. MVC 패턴이 필요한 이유 JSP와 같이 너무 많은 역할을 담당하면 한 곳에 많은 코드가 집적되어 유지보수가 어렵다. UI와 비즈니스 로직 등 변경의 사이클이 다른 부분을 하나로 관리하면 유지보수가 어렵다. 뷰 템플릿..

    [Inflearn] 스프링 설정 & 생성

    [Inflearn] 스프링 설정 & 생성

    김영한 강사님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의 정리 강의를 들으며 노션에 적어두었던 걸 보기 쉽게 정리해서 포스팅 해보려 한다. 처음으로 스프링을 시도해보았는데 재밌고 들떴던 기억이 난다. 아무래도 무료 강의다 보니, 뒤이어 학습한 스프링 핵심원리 기본편, MVC편과 겹치는 부분이 있어 스프링 환경설정 위주로만 정리했다. 프로젝트 환경 설정 및 생성 IDE : IntelliJ 스프링 부트 스타터 사이트로 스프링 프로젝트를 생성 https://start.spring.io 프로젝트 선택 Project : Gradle Project Language : Java Spring Boot : 2.3.x Project Metadata Group : 기업 도메인명 Ar..

    JSTL 다운로드 및 사용

    아래 사이트에서 jstl-1.2.jar 파일을 다운로드 한다. search.maven.org/artifact/jstl/jstl/1.2/jar Maven Central Repository Search search.maven.org 이클립스의 경우 : 다운로드 받은 jar 파일을 WEB-INF/lib 폴더에 복사한다. 인텔리제이의 경우 : Project Structure-Libraries에서 + 버튼으로 jar 파일을 추가한다.