본문 바로가기

전체 글

(87)
http의 요청방법과 통신방식, header와 body HTTP 1.1 (GET, POST, PUT, DELETE) 기본적으로 통신을 위해서는 두 개의 대상에 스트림이 연결되어야 한다. 여기서 연결되는 스트림은 바이트스트림이라고 해서 이 선에 파일 비트가 왔다갔다하며 통신을 한다. 서로 두 개의 스트림으로 연결되어 하나는 write, 하나는 read를 하는데 이것이 일반적인 통신의 방법이다. 요청은 항상 클라이언트가 하며, 응답은 서버가 한다. http 통신은 데이터를 가지고 있는 서버(갑) 입장에서는 데이터를 요청하는 클라이언트(을)이 궁금하지 않고, 클라이언트가 서버에게 데이터를 요청하면서 서버가 응답을 하는데 이 때 클라이언트가 요청하는 약속된 방법이 get, post, put, delete이다. 1. GET 요청 -데이터를 줘(데이터를 요청) -데이터..
프로젝트 만들기 본격적으로 프로젝트를 만들기에 앞서 몇 가지 셋팅을 먼저 해보려고 한다. 우선 스프링에서는 어노테이션을 붙여서 스캔하는 파일을 제한할 수 있다. 컨트롤러 클래스를 만들어서 스캔하는 파일을 제한한다. 컨트롤러 -스프링이 패키지이름 이하를 스캔하여 모든 파일을 메모리에 new 하는게 아닌 특정 어노테이션이 붙어있는 클래스 파일만을 new해서(IOC) 컨테이너에서 관리해준다. @RestController public class BlogControllerTest { //주소 이름을 입력받음 //http://localhost:8080/test/hello @GetMapping("/test/hello") public String hello() { return "hello Spring boot"; } } MySQL 환..
[스프링] 패키지 이름, UTF-8 스프링과 패키지 이름(제어의 역전) 스프링부트에서 패키지를 만들때에는 이름을 com.seo.blog 이하로 만들어야 한다. 스프링은 제어의 역전을 해서 스프링이 직접 객체를 new해서 메모리에 띄우기 때문이다. 싱글톤 패턴 : 레퍼런스 변수를 스프링이 관리해주겠다는 것 기존의 자바에서는 클래스를 new 하면 메모리 안에 공간을 만들고 클래스 변수가 가리키게 된다. 클래스의 메소드는 스택 메모리에 띄워지며 호출이 되면 메모리 안에 만들어지고 호출이 종료되면 메모리에서 사라진다. 지역변수 -> 스택 전역변수 -> 힙 스택에서 객체를 만들면 결국 지역변수가 관리하기 때문에 다른 스택에서 공유하여 사용할 수 없고, 메소드 내의 변수에 접근하기가 어려워진다. 따라서 전역변수로 선언해서 힙으로 관리하는 등의 방법을..