본문 바로가기
스터디일지/JAVA SPRING

[Java Spring] 입문 1 주차 강의 PART - 1

by 똥쟁이핑크 2023. 8. 25.

수업을 진행하기에 앞서 인텔리제이의 프로젝트를 새로 생성하고

생성 시에 다음과 같이 네모칸의 있는 부분을 필수적으로 확인한 후 프로젝트를 만들었다.

이름은 맘에 드는 것으로 바꾸고 경로도 다른 곳으로 설정해도 된다.

다음 버튼을 누르고 

이곳에서 Spring web과 lombok을 검색해서 체크해 주고 생성을 누른다.

 

Ctrl + Alt + S를 누르면 설정으로 들어갈 수 있다.(윈도우를 사용할 때)

설정에서 다음과 같이 체크하고 설정을 마무리했다.

그러면 프로젝트 화면에는 

위와 같이 나온다.

 

 

서버

  • 사용자가 요청을 할 때 응답하고 수행한다.
  • 요청을 받은 순간부터 응답하고 다시 전달하기까지의 흐름과 그 작업을 잘 알아두어야 한다.
  • 사용자가 이용하는 브라우저를 통해서 Request와 Response을 받고 요청한 작업을 수행한다.
  • 여기서 사용자가 요청한 내용을 보내줄 때 사용자의 IP 주소로 보내게 되는데 IP주소는 택배를 받을 주소로 생각하면 된다.
  • 그리고 포트는 택배를 받는 사람의 이름이라고 생각하면 쉽다. 한집에 여러 명이 살면 택배가 도착했을 때 택배를 받을 사람에게 정확히 전달하기 위해서 이름을 확인하는 것처럼 포트 번호를 확인하고 그 포트에 내용을 전달하게 된다.

 

웹서버

  • 인터넷에서 HTTP를 통해 요청과 응답을 해주는 컴퓨터다.
  • 브라우저 → HTTP Request(요청하기) → 승인 → HTTP Response(전송) → 데이터 → 브라우저 순으로 동작한다.

 

API

  • 서로 다른 시스템을 통신하기 위한 일종의 규칙(약속)을 말한다.
  • 서로 다른 애플리케이션을 소통하기 위해 API를 생성하거나 표시한다.
  • API 요청을 정상적으로 잘 수행이 되면 결과물을 반환한다.

 

RESTful API

  • API를 조금 더 강화한 것이라 이해했다.
  • REST는 네트워크 통신을 관리하기 위한 지침이다.
  • REST를 따르는 API를 REST API라 한다.
  • REST를 구현하는 웹 서비스를 RESTful 웹 서비스라 한다.
  • REST는 URL을 사용하여 서버를 식별한다.
  • HTTP 메서드를 사용해서 RESTful API를 구현한다.
  • GET을 사용하여 URL에 액세스 한 다음 GET 요청을 캐싱해서 RESTful API 요청에 파라미터를 넣어 전송한다.
  • POST를 써서 서버에 데이터를 전송한다.
  • PUT을 써서 업데이트를 한다.

 

WAS

  • 웹서버는 HTTP요청을 받아들여서 정적인 HTML 문서를 사용자에게 전달한다.
  • WAS는 HTTP기반으로 동작하는데 정적인 콘텐츠가 아니라 동적인 콘테츠를 전달한다.
  • 동적인 콘텐츠는 회원가입이나 로그인등 같은 처리를 예로 들 수 있다.

 

Spring과 SpringBoot

  • Spring
    • xml을 사용하는데 설정할 것들이 많다.
    • xml을 작성하기도 힘들고 무겁다.
    • 라이브러리나 프레임워크의 버전을 다 맞춰 주어야 한다.
  • SpringBoot
    • xml이 아니라 @을 사용해서 간편하게 설정을 할 수 있다.
    • 기본적으로 많이 사용하는 설정 값을 default로 만들어 자동으로 설정이 된다.
    • 호환성 관리가 쉬워졌다. starter를 사용하기 때문에 일일이 버전을 확인할 필요가 없다.
    • 아파치 톰캣이 내장되어 있어서 Spring처럼 따로 다운받아서 사용하지 않아도 된다.
    • API을 사용하려면 POSTMAN을 다운받아서 사용하면 API를 빠르고 쉽게 구현할 수 있다.

POSTMAN을 다운 받아 설치하고 가입하고 나면 이런 화면이 뜨는데 빨간 박스인 NEW를 눌러준다.

 

 

HTTP를 눌러준다.

 

 

이와 같은 화면에서 빨간 박스로 표시한 부분에 주소를 쳐준다음 SEND를 눌러준다.

 

 

인텔리제이에 있는 Application을 실행시키고 난 다음 해당 주소를 적고 send를 누르면 Body 탭에서 Hello world가 출력된다.

이로서 localhost의 API가 잘 생성된 걸 확인할 수 있었다.

 

 

HTTP

  • 서로 다른 컴퓨터가 데이터를 주고받는 양식을 정의한 규칙이다. → 통신 규약
  • 널리 쓰인다.
  • Request와 Response의 개념이 존재한다.
  • 상태 코드가 있고 3자리로 구성되어 있다.
    • 1xx → 요청이 수신되고 계속 처리되고 있다는 뜻이다. / 주로 연결상태를 확인하기 위해 쓴다.
    • 2xx → 요청이 성공적으로 수신되면 뜨는 코드이다. 보통 200이다.
    • 3xx → 페이지 이동 같은 경우 뜨는 코드다
    • 4xx → 클라이언트 오류가 있을 때 뜨는 코드다. 잘못된 요청 혹은 인증할 때 오류가 나면 뜨는데 404가 가장 많이 뜨고 요청한 페이지나 리소스를 찾을 수 없을 때 발생한다.
    • 5xx → 서버에 오류가 있으면 발생하는 코드다. 과부하 일 때도 발생한다. 보통 500이 많이 발생하고 내부 오류가 있을 때 뜬다.