목록2023/04 (9)
Rootable의 개발일기

📌 @RequestBody HTTP 요청 데이터 body를 조회할 때 사용하는 애노테이션 스프링MVC 내부에서 HTTP 메시지 바디를 읽어서 문자나 객체로 변환해서 전달해주는데, 이때 HttpMessageConverter라는 기능을 사용한다. (@ResponseBody도 마찬가지) 🔎 단순 텍스트 @ResponseBody @PostMapping("/request-body-string-v4") public String requestBodyStringV4(@RequestBody String messageBody) { log.info("messageBody={}", messageBody); return "ok"; } 🔎 JSON @ResponseBody @PostMapping("/request-body-jso..

📌 Spring MVC 패턴 Model, View, Controller 의 약자로, 요청에 대한 로직 수행과 뷰 렌더링 작업을 분리하기 위해 도입되었다. 동작 방식은 요청이 들어오면 Controller에서 인식하여 렌더링할 뷰를 선택한다. 여기서 View에 전달할 데이터가 있다면 Model이라는 객채에 담아 전달한다. 그리고 Controller가 가리키는 View는 Model의 값과 함께 화면을 렌더링하는 식으로 동작한다. Model데이터를 가진 객체를 지칭한다. 데이터는 내부의 상태에 대한 정보를 가질 수도 있고, 모델을 표현하는 이름 속성으로 가질 수 있다. 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이와 같은 통보를 통해 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 ..

📌 배열 크기를 지정하고 해당 크기만큼의 연속된 메모리 공간을 할당받는 작업을 수행하는 자료형 🔎 장/단점 ✔ 장점 메모리에 연속적으로 할당되어 있어 어느 위치에서나 O(1)에 조회가 가능(검색 성능 우수)인덱스를 이용하여 무작위 접근 가능(순차 접근을 하지 않아도 됨)순차 접근을 하더라도 연결 리스트보다 빠름 ✔ 단점 자료의 삽입이나 삭제 작업에서 데이터 이동이 많아 비효율적임크기가 고정되어 있어 메모리 낭비나 부족 현상이 발생할 가능성이 높음 Reference:https://hyoeun-log.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-7%EC%9E%A5-%EB%B0%B0%EC%97%B4 [자..

1. 웹 브라우저는 사용자가 입력한 URL 을 내장 톰캣 서버에 요청 2. 내장 톰캣 서버는 해당 URL과 매칭되는 Controller 를 찾는다. - 만약 적절한 Controller 를 못 찾는다면 resources 폴더에서 해당 html 파일을 찾아 그대로 내려준다. 3. 찾았다면 해당 Controller 가 반환하는 값 즉, html 파일명을 templates 디렉토리 이하에서 찾는다. - 이렇게 리턴한 값에 맞는 화면을 찾는 일을 뷰 리졸버(viewResolver)가 수행한다. - 기본 매핑 : resources/templates/ + {viewName} + .html 4. html 파일을 렌더링한다. - 여기서 Model 객체를 통해 전달한 값이 있다면 Thymeleaf 를..