SPRING (39) 썸네일형 리스트형 김영한 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 1일차 타임리프 특징 서버 사이드 HTML 렌더링 (SSR) 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 네츄럴 템플릿 타임리프는 순수 HTML을 최대한 유지하는 특징이 있다. 타임리프로 작성한 파일은 HTML을 유지하기 때문에 웹 브라우저에서 파일을 직접 열어도 내용을 확인할 수 있고, 서버를 통해 뷰 템플릿을 거치면 동적으로 변경된 결과를 확인할 수 있다. 스프링 통합지원 타임리프는 스프링과 자연스럽게 통합되고, 스프링의 다양한 기능을 편리하게 사용할 수 있게 지원한다. 타임리프 사용선언 텍스트 - text , utext 타임리프는 기본적으로 HTML의 콘텐츠에 데이터를 출력할 때 th:text를 사용하면 된다. ex) HTML 태그의 속성이 아니라 HTML 콘텐츠 영역 안에.. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 7일차 참고자료 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard HTTP 메시지 컨버터 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하며 편리하다. @ResponseBody를 사용 HTTP의 BODY에 문자 내용을 직접 반환 viewResolver 대신에 HttpMessageConverter가 동작 기본 문자처리: StringHttpMessageConverter 기본 객체처리: MappingJackson2HttpMessageConverter canRead() , canWriter() : 메시지 컨버터.. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 6일차 HTTP 요청 - 기본, 헤더 조회 package hello.springmvc.basic.request; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpMethod; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.we.. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 5일차 로깅 간단히 알아보기 운영 시스템에서 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리(spring-boot-starter-logging)가 함께 포함된다. 스프링 부트 라이브러리는 기본으로 다음 로깅 라이브러리를 사용한다. SLF4J LogBack 로그라이브러리는 LogBack , Log4J , Log4J2 등등 수 많은 라이브러리가 있는데 그것을 통해서 인터페이스로 제공하는 것이 SLF4J 라이브러리다. 로그선언 1. 2. @Slf4j : 롬복 사용 가능 @RestController @Controller 는 반환 값이 Stri.. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 4일차 스프링 MVC 전체 구조 직접 만든 프레임 워크 -> 스프링 MVC 비교 FrontController -> DispatcherServlet handlerMappingMap -> HandlerMapping MyHandlerAdapter -> HandlerAdapter ModelView -> ModelAndView viewResolver -> viewResolver MyView -> View DispatcherServlet 구조 DispatcherServlet도 부모 클래스에서 HttpServlet을 상속 받아서 사용하고, 서블릿으로 동작한다. Dispatcher -> FrameworkServlet -> HttpServletBean -> HttpServlet 스프링 부트는 DispatcherServlet을 .. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 3일차 MVC 프레임워크 만들기 프론트 컨트롤러 패턴 프론트 컨트롤러 서블릿 하나로 클라이언트 요청을 받음 프론트 컨트롤러 요청에 맞는 컨트롤러를 찾아서 호출 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 package hello.servlet.web.frontcontroller.v1; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public interface ControllerV1 { void process(HttpServletRe.. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2일차 서블릿으로 간단한 회원관리 웹 애플리케이션 만들기 package hello.servlet.domain.member; import lombok.Getter; import lombok.Setter; @Getter @Setter public class Member { private Long id; private String username; private int age; public Member(){ } public Member(String username, int age) { this.username = username; this.age = age; } } package hello.servlet.domain.member; import java.util.ArrayList; import java.util.Has.. 김영한 - 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1일차 웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공 EX) 정적 HTML, CSS, JS, 이미지, 영상 EX) APACHE 웹 애플리케이션 서버(WAS - Web Application Server) HTTP 기반으로 동작 웹 서버 기능 포함 + (정적 리소스 제공 가능) 프로그램 코드를 실행해서 애플리케이션 로직 수행 EX) 동적 HTML , HTTP API(JSON) EX) 서블릿, JSP, 스프링 MVC EX) 톰캣 서블릿 HTTP 요청 정보를 편리하게 사용 할 수 있는 HttpServletRequest HTTP 응답 정보를 편리하게 제공 할 수 있는 HttpServletResponse HTTP 요청,응답 흐름 WAS는 Request , Response 객체를 새로 만들어서 서블.. 이전 1 2 3 4 5 다음