본문 바로가기
728x90

스프링 부트20

인프런 MVC 1 강의 정리 #4 1 . 프론트 컨트롤러 패턴 소개 - 프론트 컨트롤러 도입 전 도입 전에는 공통 로직을 각각 생성해야 했다. - 프론트 컨트롤러 도입 후 프론트 컨트롤러라는 서블릿을 도입하면 공통 로직을 하나 생성하고, 다른 컨트롤러들을 호출한다. 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출한다 공통 처리 가능 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다 2 . 프론트 컨트롤러 도입 - v1 기존 코드를 최대한 유지하면서, 점진적으로 프론트 컨트롤러를 도입해보자. - v1 구조 프론트 컨트롤러는 매핑 정보를 통해 어떤 컨트롤러를 호출해야 하는지에 대한 정보를 받는다. 그 후 해당 컨트롤러를 호출하고, 컨트롤러는 JSP를 fow.. 2024. 1. 1.
인프런 MVC 1 강의 정리 #3 1 . 회원 관리 웹 애플리케이션 요구사항 회원 정보 : 이름(username), 나이(age) 기능 요구사항 : 회원 저장, 회원 목록 조회 먼저 main/hello/servlet에 domain 패키지를 생성하고, 그 안에 member 패키지를 만든 후, 그 안에 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.userna.. 2023. 12. 31.
인프런 MVC 1 강의 정리 #2 1 . 프로젝트 생성 서블릿을 이용한 스프링 부트 프로젝트를 생성해보자. start.spring.io에서 Gradle, WAR로 설정하여 Generate한다. 파일을 열어서 롬복을 설치하고, Settings -> Annotation Processors의 Enable annotation processing을 체크한다. 기본 설정을 마친 후 기본 메인 클래스를 실행해보고 동작하는지 확인하기 위해 http://localhost:8080을 들어가본다. 아래와 같은 Error page가 나오면 정상 작동하는 것이다. 2 . Hello 서블릿 스프링 부트는 톰캣 서버를 내장하고 있기 때문에, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다. 본격적으로 스프링 부트 서블릿 환경을 구성해보자. 1) 서블릿.. 2023. 12. 27.
인프런 HTTP 강의 정리 #8 1 . 캐시 기본 동작 1) 캐시가 없을 때 브라우저에서 GET /star.jpg 첫번째 요청을 보내면, 서버는 HTTP 헤더(0.1M) + HTTP 바디=star.jpg 이미지(1.0M)를 담아 응답을 보낸다. 그 후 브라우저에 서버로부터 응답받은 이미지가 표시된다. 브라우저에서 GET /star.jpg 두번째 요청을 보내면, 서버는 HTTP 헤더(0.1M) + HTTP 바디=star.jpg 이미지(1.0M)를 담아 응답을 보낸다. 이와 같은 과정을 반복하면서 캐시가 없으면 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야 한다. 그렇지만 이 경우 인터넷 네트워크가 매우 느리고 비싸다는 단점이 있다. 2) 캐시 적용 브라우저에서 GET /star.jpg 첫번째 요청을 보내면, 서버.. 2023. 12. 23.
728x90