(참고: Spring Boot를 기준으로 작성된 글입니다) 이전 글에서 클라이언트와 서버가 데이터를 주고받을 때 Handler Adapterd와 Handler의 사이의 Argument Resolver와 ReturnValue Handler가 어떻게 작동하는지 살펴보았다 HTTPMessageConverters Argument Resolver와 Return Value Handler만 있다고 객체를 생성하여 전달하고, 반환 값을 반환할 수는 없다. 이 값들의 타입들을 확인하여 알맞은 데이터를 생성하고 반환하는 절차가 필요한데 이를 수행하는 것이 HTTPMessageConverters이다 즉 서버가 어떤 요청을 받았는지, 어떤 응답을 보내는지에 따라서 다른 컨버터가 적용되는 것이다 사실 HTTPMessageCon..
(참고: Spring Boot를 기준으로 작성된 글입니다) Controller (Controller와 RestController)와 RequestMapping의 글을 정리하면서 클래스와 메서드를 스프링 빈으로 등록하고 매핑이 되는지 살펴보았다 이번에는 RequestMapping이 요청과 응답시에 데이터를 어떻게 다루는지에 대하여 살펴보고자 한다 (@RequestMapping은 RequestMappingHandlerAdapter를 어노테이션화 한 것이다) 클라이언트가 요청을 할 때 그리고 서버가 응답을 할때 단순히 요청과 응답뿐이 아닌 각종 데이터를 함께 넘겨주고 반환받는다 이때 이 데이터를 처리하는 인터페이스가 바로 Argument Resolver와 ReturnValue Handler이다 Argument..
RequestMapping @Controller & @RestController(Cotroller와 RestController)로 등록된 클래스는 자동으로 스프링 빈으로 등록이 되어 매핑이 된다 하지만 클라이언트가 요청한 URL에 매핑을 하기 위해서는 빈의 매핑 정보를 정의해야 한다 이때 사용하는 것이 바로 @RequestMapping이다 이름에서도 볼 수 있듯이 Spring MVC Framework의 RequestHandlerMappingHandler 인터페이스를 어노테이션화 한 것이다 RequestMapping Method Level 아래의 예시처럼 메서드에 @RequsetMapping을 추가하고 URL을 정의하면 클라이언트가 요청하는 URL에 따라 해당 메서드가 실행된다 /** * Method Le..
Spring MVC Framework는 HandlerMapping/Adpater라는 인터페이스를 통해 URL의 테이블을 만들고 클라이언트가 요청한 URL을 매핑된 스프링 빈(빈의 이름이 URL에 매핑된다)에 연결을 하는 역할을 해준다 이때 이전의 방식이라면 빈을 등록할 때 @Component라는 어노테이션을 추가해 일일이 등록을 해야 했지만 스프링 MVC에서는 @Controller라는 어노테이션을 활용하여 매우 쉽게 스프링 빈을 등록할 수 있다 (Handler == Controller) @Controller 아래의 예시와 같이 클래스 단에 @Controller라고 어노테이션을 작성하게 되면 해당 클래스에 속한 메서드들을 스프링 빈으로 지정한다 @Controller public class Controlle..
(참고: JSP/Servlet을 기준으로 작성된 글입니다) Spring Framework Spring MVC 또한 결국 스프링이 만든 하나의 Framework이다 즉 스프링이 만들어 놓은 DispatcherServlet, HandlerMapping 등의 인터페이스로 다형성을 활용하여 코드의 변경 없이 원하는 기능을 변경하거나 확장할 수 있는 것이다 스프링 프레임워크가 제공하는 주요 인터페이스부터 살펴보자 • DispatcherServlet 스프링 프레임워크의 핵심이라고 할 수 있는 디스패쳐 서블릿은 프론트 핸들러(컨트롤러) 패턴으로 설계되었다 프론트 컨트롤러가 없던 이전에는 한 개의 URL에 한 개의 서블릿이 매핑되는 구조를 사용하였다고 한다 이렇게 각각의 서블릿이 매핑이 되면 forward 같은 공통된..
(참고: Spring MVC Framework를 학습하기 이전에 단순히 기본 MVC 패턴을 이해하기 위한 글입니다) Web Server / Servlet / JSP와 HTTP 요청 데이터 그리고 HTTP 응답 데이터에서 클라이언트와 서버가 소통하는 방법을 살펴보았었다 이전에는 이를 바탕으로 Servlet과 JSP를 활용하여 개발을 진행했었다고 한다 하지만 비즈니스로직 뿐만 아니라 뷰로직을 함께 포함하여 작성해야 했었기 때문에 뷰와 비즈니스로직의 변경 사이클이 다름에도 불구하고 하나를 수정하게 되면 서로 영향을 주었다 이러한 문제 때문에 복잡한 로직을 구현하는 순간부터 유지보수 지옥이 시작되었다고 한다 이러한 문제점을 타파하기 나온 것이 바로 MVC 패턴이다 MVC 패턴 웹 애플리케이션이라면 보통 MVC ..
- Total
- Today
- Yesterday
- 제이쿼리란
- Cache
- ResponseStatusExeceptionResolver
- 제이쿼리 인접 관계 선택자
- OOP
- @ResponseStatus
- Spring MVC
- @ExceptionHandlere
- spring
- Spring TypeConverter
- Spring Container
- 제이쿼리 직접 선택자
- jQuery 직접 선택자
- 세션
- 제이쿼리 탐색선택자
- maenco
- 캐시
- 제이쿼리 기본 선택자
- DefaultHandlerExceptionResolver
- http
- cookie
- Spring API Error
- 제이쿼리 위치탐색선택자
- 맨코
- DTO와 VO의 차이
- Session
- 쿠키
- ExceptionHandlerExceptionResolver
- uri
- application/x-www-form-urlencoded
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |