분류 전체보기502 17. Response 처리방법 0. 개요 - 이전 포스팅까지 HTTP Request를 처리하는 방법에 대해서 알아보았다. - 요청을 GET 방식과 POST 방식으로 나누어 각각 처리하는 방법에 대해 배웠다. - 이번 포스팅에서는 HTTP Response는 어떻게 처리하는지 알아보자. 1. HTTP Response의 종류 - HTTP Request에는 3가지 방식이 존재했다. → GET 방식을 사용한 URL parameter 전달 → 태그를 이용한 POST 방식의 URL parameter 전달 → POST 방식을 사용한 Request body를 전달 - 이와 마찬가지로 HTTP Response 또한 3가지 방식이 존재한다. → 정적 리소스를 응답하는 방식 → 동적 리소스(= view template)를 응답하는 방식 → HTTP 메시지.. 2022. 3. 17. 16. Request - JSON 조회방법 0. 개요 - 앞선 2개의 포스팅에서 Request parameter와 body를 조회하는 방법에 대해서 알아보았다. - 이를 요약하자면 다음과 같이 정리할 수 있다. 1. 요청 parameter를 조회하는 경우 → GET 방식의 HTTP request → 태그를 이용한 POST 방식의 HTTP request → @RequestParam, @ModelAttribute를 사용한다. 2. 요청 body를 조회하는 경우 → POST 방식의 HTTP request → @RequestBody, @ResponseBody를 사용한다. - 그렇다면 JSON 형식으로 전달되는 Request body는 어떻게 조회할까? 천천히 알아보자. 1. Servlet - HttpServlet을 이용하여 JSON 형식의 데이터를 다음.. 2022. 3. 16. 15. Request - message Body 조회방법 0. 개요 - 이전 포스팅에서 Request parameter를 조회하는 방법에 대해서 알아보았다. - Request Body는 Client가 POST method를 사용한 요청에서 사용된다. - POST 방식을 사용한 요청은 HTTP message body에 데이터를 담아 Server에게 전달한다. - 이때 데이터는 JSON 형식으로 작성되는 것이 일반적이다. - 이번 포스팅에서는 Server 측에서 Reqeust Body를 조회하는 방법에 대해 알아보자. 1. HttpServlet - HttpServletRequest를 통해 Request Body를 조회하는 방법을 알아보자. @Slf4j @Controller public class RequestBodyController { @PostMapping(".. 2022. 3. 15. 14. Request - URL parameter 조회방법 0. 개요 - Request Parameter는 Client의 요청을 통해 Server에게 전달하는 URL parameter를 의미한다. - Web은 다음 3가지 방식으로 데이터를 전달한다. 1. GET 방식을 이용한 URL parameter를 전달하는 방식 2. HTML의 Form 태그를 이용한 POST 방식( URL parameter가 HTTP message body에 담아서 전달) 3. POST 방식을 이용한 HTTP message body에 데이터를 담아 전달하는 방식 - GET 방식은 URL parameter를 사용하여 데이터를 Server에게 전달한다. - Form 태그의 POST 방식은 URL parameter를 Request Body에 담아서 Server에게 전달한다. - 이 두 가지 방식.. 2022. 3. 14. 재귀 함수의 개념 및 문제 접근방식 0. 개요 - 최근 Tree 문제를 풀기 시작하면서 재귀 함수를 사용한 풀이를 많이 접했다. - 재귀 함수(= Recursion)를 사용하면 연산 속도도 빠르고 작성하는 코드 또한 간결해진다. - 그래서 Recursion을 제대로 알고 사용하고 싶지만, 감이 잡힐 것 같으면서도 잡히지 않는다. - 이와 같은 이유로 Recursion을 정복하고 싶다는 생각에 이번 포스팅을 작성한다. - 나와 같이 Recursion에 어려움을 겪는 분들에게 도움이 되기를 바란다. 1. Recursion 이란? - Recursion은 함수 내부에서 자기 자신을 다시 호출하는 형태를 가진 함수를 말한다. 2. 재귀 함수 작성 규칙 - 재귀 함수를 작성할 때 지켜야 하는 2가지 규칙이 있다. a) Base case(반복을 멈추는.. 2022. 3. 11. 13. Annotation 기반의 URL 매핑 0. 개요 - 이전 포스팅에서 Front Controller의 동작을 Annotation을 이용하여 적용하는 방법에 대해서 알아보았다. - 이번 포스팅에서는 Spring Boot가 지원하는 다양한 URL 매핑 방식 및 annotation에 대해서 알아보자. 1. URL 매핑 형식 지원 - 백엔드에서 URL을 매핑하는 작업은 굉장히 중요한 작업이다. - 매핑 URL에 오타가 있다면 완전히 다른 주소가 되기 때문이다. @RequestMapping("/springmvc/view") @ReqeustMapping("/springmvc/view/") - 사실 "/springmvc/view"와 "/springmvc/view/"는 엄연히 다른 URL이다. - 그러나 Spring Boot에서는 위의 예시에 나온 URL을.. 2022. 3. 10. 12. Annotation 기반의 Spring MVC 0. 개요 - 직접 Front Controller를 구현했을 때를 생각해보자. - Front Controller를 시작으로 HandlerMapping, HandlerAdapter를 직접 구현했다. - 그러므로 전체적인 Front Controller의 흐름을 직접 구현했다. - Spring Boot를 사용하면 이를 직접 구현하지 않는다. - Spring Boot 내부에는 이미 모든 것이 구현되어 있기 때문이다. - 그렇다면 내부적으로 구현된 클래스 또는 인터페이스들을 어떻게 사용할까? - 더불어 DispatcherServlet의 내부 동작 과정에 어떻게 컨트롤러를 전달(주입)할 수 있을까? → 내부 동작 과정이란, 이전 포스팅에서 다룬 DispatcherServlet의 동작원리를 의미한다. - 그 해답은 .. 2022. 3. 9. 11. Spring MVC의 특징 0. 개요 - 이전 포스팅에서 Adapter 패턴에 대해 이야기하며, 최종적인 Front Controller의 구조를 알아보았다. - 이를 기반한 Spring MVC는 어떤 특징을 가지며, 어떤 차이점이 있는지 알아보도록 하자. * 본 포스팅은 Front Controller 시리즈의 내용입니다. 이전 포스팅을 읽는 것을 권장합니다. 1. Spring MVC의 특징 a) 명칭의 차이 - Spring MVC는 Front Controller를 기반한다. - 그러나 각 컴포넌트의 명칭의 차이가 존재한다. - 다음 우측의 명칭들이 Spring MVC에서 사용하는 명칭이다. 1. Font Controller → DispatcherServlet 2. HandlerMappingMap → HandlerMapping(인터.. 2022. 3. 8. 10. Front Controller(2) 0. 개요 - 이전 포스팅에서 전체적인 Front Controller의 흐름에 대해서 알아보았다. - 그러나 하나의 디자인 패턴이라 정의하기에는 구조적으로 불편한 부분이 많다. - 이 부분을 어떻게 개선하는지, 최종적으로 Front Controller가 어떻게 작동하는지 알아보자. * 본 포스팅은 Front Controller 시리즈의 내용입니다. 이전 포스팅을 읽는 것을 권장합니다. 1. ModelView 대신 view 이름(String)을 반환 - 이전 포스팅에서 각 Controller는 ModelView 객체를 생성하고 반환했다. 그러나 이는 SRP에 위배된다. - Controller가 비즈니스 로직의 수행과 ModelView의 생성까지 책임지고 있기 때문이다. - 그러므로 ModelView를 더 .. 2022. 3. 7. 이전 1 ··· 12 13 14 15 16 17 18 ··· 56 다음