INFLEARN/스프링 MVC 1편
-
[스프링 MVC 1] 7. 스프링 MVC - 웹 페이지 만들기INFLEARN/스프링 MVC 1편 2021. 11. 5. 17:45
7. 스프링 MVC - 웹 페이지 만들기 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프로젝트 생성 # 프로젝트 생성 Packaging은 Jar로 # Welcome 페이지 스프링 부트에서 Jar를 사용하기 위해 /resources/static 위치에 index.html파일을 두었음 스프링 부트가 Welcome 페이지로 처리해줌 2. 요구사항 분석 # 서비스 제공 흐름 상품 목록, 상세, 등록, 수정 3. 상품 도메인 개발 # Item - 상품 객체 핵심 도메인 같은 경우 @Data 사용하는거 위험할 수 있어서 @Getter, @Setter 등으로 분리하는게 좋음 # ItemRepository - 상품 저장소 public Item save(Item item) publ..
-
[스프링 MVC 1] 6. 스프링 MVC - 기본 기능INFLEARN/스프링 MVC 1편 2021. 11. 5. 17:45
6. 스프링 MVC - 기본 기능 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프로젝트 생성 # 프로젝트 생성 Packaging은 Jar로 선택 더 이상 JSP를 사용하지 않으므로 앞으로 스프링 부트를 사용하면 이 방식 주로 사용 Jar를 사용하면 항상 내장 서버(톰캣 등)를 사용, 최적화 되어 있음 webapp 경로 사용하지 않음 +) War는 내장 서버도 가능하지만, 주로 외부 서버 배포 목적 # Welcome 페이지 스프링 부트에서 Jar를 사용하기 위해 /resources/static 위치에 index.html파일을 두었음 스프링 부트가 Welcome 페이지로 처리해줌 2. 로깅 간단히 알아보기 # 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 기본적으로..
-
[스프링 MVC 1] 5. 스프링 MVC - 구조 이해INFLEARN/스프링 MVC 1편 2021. 10. 27. 00:08
5. 스프링 MVC - 구조 이해 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 스프링 MVC 전체 구조 # Spring MVC 구조 지금까지 직접 구현해본 프레임워크와 스프링 MVC를 비교하면 거의 유사 FrontController -> DispatcherServlet ViewResolver와 View는 인터페이스로 제공됨 # DispatcherServlet 구조 살펴보기 org.springframework.web.servlet.DispatcherServlet 스프링 MVC도 프론트 컨트롤러 패턴으로 구현 즉, 디스패처 서블릿(Dispatcher Servlet)이 스프링 MVC의 프론트 컨트롤러 DispatcherServlet도 부모 클래스에서 HttpServlet..
-
[스프링 MVC 1] 4. MVC 프레임워크 만들기INFLEARN/스프링 MVC 1편 2021. 10. 23. 00:25
4. MVC 프레임워크 만들기 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프론트 컨트롤러 패턴 소개 # 프론트 컨트롤러 도입 전/후 프론트 컨트롤러 도입 전 : 클라이언트에서 요청이 들어왔을 때 controller를 바로 호출 (공통 로직은 각각의 Controller에서 알아서 처리) 프론트 컨트롤러 도입 후 : 클라이언트에서 요청이 들어왔을 때 먼저 Front Controller (공통 로직을 처리)에서 받은 후 Front Controller에서 Controller를 호출 # FrontController 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 공통 로직을 프론트 컨트롤러에서 처리 프..
-
[스프링 MVC 1] 3. 서블릿, JSP, MVC 패턴INFLEARN/스프링 MVC 1편 2021. 10. 18. 23:50
3. 서블릿, JSP, MVC 패턴 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 회원 관리 웹 애플리케이션 요구사항 # 기능 요구사항 회원정보 이름 : username 나이 : age 회원 저장 회원 목록 조회 # 도메인 모델 # 회원 저장소 싱글톤 패턴 적용 (스프링 없이 순수 서블릿으로 구현하는 것이 목적) save(Member member) findById(Long id) findAll() clearStore() # 회원 저장소 테스트 코드 회원을 저장하고, 목록을 조회하는 (findAll()) 테스트 작성 clearStore()로 각 테스트에 영향 주지 않도록 2. 서블릿으로 회원 관리 웹 애플리케이션 만들기 # 회원 등록 폼 - MemberFromServl..
-
[스프링 MVC 1] 2. 서블릿INFLEARN/스프링 MVC 1편 2021. 10. 16. 23:40
2. 서블릿 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 프로젝트 생성 # IntelliJ 세팅 Build Tools : Gradle -> IntelliJ IDEA Lombok plugin 설치 Annotation Processors > Enable annotation processing 2. Hello 서블릿 # 스프링 부트 + 서블릿 환경 구성 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설정하고 해야할 작업들이 많아, 이 강의에서는 톰캣 서버를 내장하고 있는 스프링 부트를 사용하여 서블릿 코드를 실행 @ServletComponentScan : 스프링 부트에서 지원하는 서블릿 자동 등록 애노테이션 # 서블릿 등록하기 @WebServlet : 서블릿 애노테이션..
-
[스프링 MVC 1] 1. 웹 애플리케이션 이해INFLEARN/스프링 MVC 1편 2021. 10. 13. 00:53
1. 웹 애플리케이션 이해 [강의 정리] 김영한님 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1. 웹 서버, 웹 애플리케이션 서버 # 웹 HTTP 기반 통신 클라이언트 -> 서버 , 서버 -> 클라이언트 (HTTP 프로토콜 기반) 거의 모든 형태, 서버간에 데이터까지 주고 받을 때 대부분 HTTP 사용 # 웹 서버 (Web Server) HTTP 기반으로 동작 정적 리소스 (HTML, CSS, JS, 이미지, 영상) ex) NGINX, APACHE # 웹 어플리케이션 서버 (WAS - Web Application Server) HTTP 기반으로 동작 프로그램 코드를 실행해서 애플리케이션 로직 수행 (동적HTML, HTTP API, 서블릿, JSP, 스프링 MVC) (+ 웹 서버 기능) ex)..