spring(6)
-
[Java] 초간단! 쿠키, 세션, 토큰
본 포스팅은 클라이언트와 서버가 인증, 인가하는 방식인 쿠키, 세션, 토큰에 대해 다룹니다. HTTP의 특성 웹 클라이언트와 서버는 HTTP라는 프로토콜을 이용하여 통신합니다. HTTP는 비연결성과 무상태성의 특징을 가지고 있습니다. 비연결성 비연결성은 서버와 클라이언트가 항상 연결되어있지는 않다는 것입니다. 무상태성 무상태성은 서버가 클라이언트의 상태를 저장하지 않는다는 것입니다. HTTP가 두 가지 특징을 가지고있기 때문에 서버의 부하를 줄일 수 있지만, 유저 로그인과 같이 인증된 유저는 기억하고 있어야하는 경우 비연결성과 무상태성 때문에 이 정보를 기억하지 못할 수 있습니다. 따라서 유저 로그인과 같은 정보를 유지시키는 과제를 풀어야하는데, 그 과정에서 쓰이는 것이 쿠키, 세션, 토큰입니다. 쿠키 ..
2024.02.29 -
[Spring] 의존성 주입(DI)과 제어의 역전(IoC)
본 포스팅은 의존성 주입(DI)과 제어의 역전(IoC)에 대해 다룹니다. 의존성(Denpendency) 'A가 B에 의존성을 가진다'라는 뜻은 B가 변할 때마다 A도 함께 변해야하는 것을 말합니다. 아래의 예시를 보겠습니다. 아래의 예시에서 comsumer가 eat 메소드를 호출하면, chicken 객체의 eat 메소드가 호출됩니다. 코드 동작상으로는 문제가 없지만, 다른 음식을 먹고 싶으면 eat 메소드를 수정해야하는 번거로움이 있습니다. 위와 같은 경우 Consumer와 Chicken은 강한 의존성을 가진다라고 말할 수 있습니다. # Code Snippet 1 public class Consumer { void eat() { Chicken chicken = new Chicken(); chicken.e..
2024.02.25 -
[Spring] 초간단! 인자의 종류
본 포스팅은 메소드의 인자로 쓰이는 @PathVariable, @RequestParam, @RequestBody에 대해 다룹니다. @PathVariable @PathVariable은 URI Path로부터 값을 얻을 때 쓸 수 있습니다. @RequestParam @RequestParam은 쿼리스트링으로부터 값을 얻을 때 쓸 수 있습니다. 내용 추가: Get method에서는 RequestBody로 인자를 받는 것이 허용되지 않음. @RequestBody @RequestBody는 JSON의 값을 인자로 받을 때, 사용합니다.
2024.02.24 -
[Spring] 초간단! ResponseDto, RequestDto
본 포스팅은 ResponseDto, RequestDto의 개념에 대해 다룹니다. HttpMessageConverter 웹에서 클라이언트와 서버가 통신할 때, JSON을 이용하여 통신하게 되는데, 서버에서 값을 일일이 JSON으로 변환하여 전달하는 것은 공수가 많이 드는일입니다. 따라서 이 일을 처리해주는 인터페이스가 HttpMessageConverter 입니다. 이 인터페이스의 구현체 중 MappingJackson2HttpMessageConverter 클래스가 있습니다. 이 클래스는 Jackson 라이브러리의 클래스로써, ResponseDto, RequestDto, ResponseEntity와 같이 JSON 과 Java Object을 변환해주는 역할을 수행합니다. RequestDto 위의 MappingJ..
2024.02.24 -
[Spring] REST ful API 란?
본 포스팅은 REST ful API의 기본 개념과 사용 예시에 대해 다룹니다. API API는 Application Programming Interface의 약자로 프로그램들이 통신하기 위한 통신 규약을 일컫습니다. 즉, 클라이언트가 서버쪽으로 request를 보내면, 그 request에 대한 response가 API를 통해 전송되는 것입니다. 예를들어, http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99 API는 서울시에서 제공하는 미세먼지 데이터를 얻을 수 있습니다. REST REST는 REpresentational State Transfer의 약자로 자원을 이름(표현)으로 구분하여 자원의 상태..
2024.02.24 -
[Spring] Web server failed to start. Port 8080 was already in use.
포트 번호를 이미 사용하고 있어서 웹 서버를 구동할 수 없다는 에러입니다. 윈도우에서는 아래와 같이 포트 번호 확인 후 사용하지 않는 다면 이전에 실행한 포트번호의 프로세스를 삭제하여 해당 포트 번호를 다시 사용할 수 있습니다. netstat -ano | findstr 8080 taskkill /F /PID 8080
2024.02.20