클라이언트가 서비스를 이용하면 다양한 값들을 서버에 요청할 때 같이 전달하여 서버는 해당 값들을 읽고 요청을 수행한다 어노테이션 기반의 스프링 컨트롤러는 다양한 파라미터를 지원하는데 클라이언트가 요청을 보낼때 서버 쪽에서 다양한 값들을 조회하는 방법을 살펴보고자 한다 required & default value 스프링 어노테이션으로 하나의 값을 조회하는 경우 대부분 필수 값이라 null값이 들어오게 되면 에러가 발생한다 이때 required를 false값(default가 true)으로 주게 되면 해결이 된다 더 나아가서는 default value를 정의하여 해당 값이 없을 때 default값을 줄 수 있다 (이렇게 되면 항상 값이 존재하니 required는 생략해도 무방) //예시 public void ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bMdtRi/btrdmCHdq2E/gfUV8gRPgudfdhgCrKa58k/img.png)
(참고: Spring Boot를 기준으로 작성된 글입니다) 이전 글에서 클라이언트와 서버가 데이터를 주고받을 때 Handler Adapterd와 Handler의 사이의 Argument Resolver와 ReturnValue Handler가 어떻게 작동하는지 살펴보았다 HTTPMessageConverters Argument Resolver와 Return Value Handler만 있다고 객체를 생성하여 전달하고, 반환 값을 반환할 수는 없다. 이 값들의 타입들을 확인하여 알맞은 데이터를 생성하고 반환하는 절차가 필요한데 이를 수행하는 것이 HTTPMessageConverters이다 즉 서버가 어떤 요청을 받았는지, 어떤 응답을 보내는지에 따라서 다른 컨버터가 적용되는 것이다 사실 HTTPMessageCon..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bmzfeC/btrdprLHlOW/EnOyCCEFZ4pkDzKbBbZBBk/img.png)
(참고: 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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dfwz4Q/btrc1vHbeFj/DkawZ1JWranSDF5q9hl7EK/img.png)
(참고: 단순히 각 아카이브의 개념을 이해하기 위하여 작성된 글입니다.) 스프링 프로젝트를 시작할 때 Jar 와 War를 보고 헷갈려했던 경우가 많았는데 이번 글에서 확실히 짚고 넘어가고자 한다 우선 이 파일들이 무엇을 위해 존재하는지부터 살펴보겠다 애플리케이션 배포 JAR와 WAR를 기준으로 살펴보자면 근본적으로는 둘다 애플리케이션 배포를 목적으로 사용되는 파일이다 애플리케이션 소스들을 배포할 시에 path등의 설정에서의 애로사항을 제거하기 위해 탄생한 압축(아카이브) 방식으로 이 압축파일들은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되어 있다 간단하게 말하자면 서버에 리소스, 속성 파일 등이 압축되어 있는 이 파일만 넣어주면 알아서 서비스(개발자가 만든)가 작동하는 것이..
- Total
- Today
- Yesterday
- 제이쿼리란
- Spring API Error
- ExceptionHandlerExceptionResolver
- 쿠키
- @ResponseStatus
- maenco
- Spring Container
- Session
- uri
- Cache
- application/x-www-form-urlencoded
- DefaultHandlerExceptionResolver
- jQuery 직접 선택자
- ResponseStatusExeceptionResolver
- 제이쿼리 탐색선택자
- @ExceptionHandlere
- 제이쿼리 위치탐색선택자
- OOP
- 제이쿼리 인접 관계 선택자
- 캐시
- 맨코
- spring
- 세션
- Spring TypeConverter
- 제이쿼리 기본 선택자
- cookie
- Spring MVC
- DTO와 VO의 차이
- 제이쿼리 직접 선택자
- http
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |