본문 바로가기

분류 전체보기

(144)
[Spring] 서블릿 알아보기 (@WebServlet,getParameter, getParameterValues) 서블릿이란?서블릿이란 쉽게 말해서 클라이언트와 서버가 통신할 때 서버쪽에서 클라이언트의 요청(request)을 받고 응답(response)을 줘야할 때 클라이언트의 요청대로 응답을 만들어주는 프로그래밍 기술이다.우선 스프링에서 서블릿을 사용하려면 @WebServlet 애너테이션을 사용해야 한다.@WebServlet 애너테이션이란 name, urlPatterns로 구성되어 있으며 name은 서블릿의 이름, urlPatterns는 URL 매핑 기능을 한다. (@GetMapping과 유사하다.) @WebServlet(name = "requestParamServlet", urlPatterns = "/request-param")public class RequestParamServlet extends HttpSer..
[Spring] 웹 서버, 웹 애플리케이션 서버 현재 HTTP 프로토콜을 이용하지 않는 곳이 없을 정도로 우리는 HTTP 시대에 살고 있다.우리가 웹 브라우저에서 URL을 치고 인터넷이 서버에 접근하는 것, 서버가 클라이언트에게 HTML을 주는 것도 모두 HTTP 프로토콜을 기반으로 움직인다. 1. 웹 서버HTTP를 기반으로 동작하는 서버로 정적 리소스와 기타 부가기능을 제공한다.만약 우리가 html을 요청한다면 웹 서버는 음식점의 점원처럼 클라이언트가 요청한 파일 (HTML, CSS, JS, 이미지, 영상)들을 가져다준다. 물론 이 때도 HTTP 프로토콜을 이용한다.즉, HTTP 프로토콜을 통해서 서로 데이터를 주고받을 수 있는 서버를 웹 서버라고 한다. 2. 웹 애플리케이션 서버 (WAS)HTTP 기반으로 동작하며 웹 서버 기능도 수행을 할 수 있..
[HTTP] HTTP 상태 코드 HTTP 상태 코드 : 클라이언트가 서버로 보낸 요청의 처리 상태를 응답이 올 때 알려주는 기능1xx (Informational) : 요청이 수신되어 처리중2xx (Successful) : 요청 정상 처리3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못 함  1xx (Informational) : 요청이 수신되어 처리중 클라이언트가 보낸 요청이 서버쪽으로 넘어가서 실행 중이라는 코드거의 사용하지 않는다  2xx (Successful) : 요청 정상 처리클라이언트의 요청을 정상적으로 처리를 했다 (성공)..
[HTTP] HTTP 알아보기 (특징, 구조, 비연결성, 무상태) HTTP란?HyperText Transfer Protocol클라이언트와 서버 사이가 서로 데이터를 주고받기 위한 하나의 통신 규약입니다. 무엇을 주고받을 수 있나요?HTML, TEXT이미지, 음성,영상, 파일JSON, XML (API)거의 모든 형태의 데이터서버와 서버간의 데이터 HTTP의 특징클라이언트 서버 구조로 동작한다.무상태 프로토콜 지향 (Stateless), 비연결성HTTP 메세지를 이용한 통신단순함, 확장 가능 클라이언트 서버 구조Request Response 구조라고도 하며 클라이언트가 서버에 요청을 보내고 응답을 대기한다. 서버는 요청을 받고 그 요청에 대한 결과를 만들어서 응답을 한다.클라이언트와 서버를 분리하는 것이 중요한 이유?클라이언트와 서버를 분리해내고 클라이언트에는 사용자가 더..
[HTTP] IP, TCP, UDP 1. IP인터넷 프로토콜 (Internet Protocol)의 약자로 지정된 IP 주소로 패킷이라는 통신 단위로 데이터를 전달한다. 2. IP 패킷패킷 안에 들어가는 내용 : 출발지 IP, 목적지 IP, 기타 내용 3. IP 프로토콜의 한계비연결성 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송된다.비신뢰성 - 패킷이 가다가 사라지면? 패킷이 순서대로 안 오면?프로그램 구분 - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? 우선 비연결성이란 내가 상대방에게 어떠한 패킷을 보냈는데 상대방 IP가 상대방이 맞는지, 혹은 상대방이 지금 통신이 되는지, 안 되는지 모른 채로 패킷을 보낸다는 것이다. 비신뢰성을 이해하기 전에 클라이언트(출발지)에서 서버(목적지)로 패킷이 가는..
[Spring] 빈 스코프 1. 빈 스코프빈 스코프에 대해서 알아보겠습니다.우선 스프링 빈은 많이 들어봤겠지만 스코프는 생소하실 수 있습니다.스코프는 범위라는 뜻으로 빈 스코프는 빈이 존재할 수 있는 범위를 뜻합니다.이전 글에 적었던 @PostConstruct, @PreDestroy 글 2024.09.07 - [Spring/Spring] - [Spring] @PostConstruct, @PreDestroy 에서 설명했던 스프링 빈의 생명주기를 다시 보자면 이렇습니다.스프링 빈의 생명주기스프링 컨테이너 생성스프링 빈 생성의존관계 주입사용스프링 종료스프링의 스코프 종류입니다.싱글톤 : 기본 스코프로 스프링 컨테이너와 똑같이 시작과 종료를 함께 하는 가장 넓은 범위의 스코프입니다. 프로토타입 : 프로토타입 빈을 생성하면 스프링 컨테이너..
[Spring] @PostConstruct, @PreDestroy @PostConstruct와 @PreDestroy 애너테이션은 약간 이론적인 내용이 있기 때문에 두 애너테이션의 역할이 무엇인지 알아보기 전에 스프링 빈의 생명주기를 먼저 알아보겠습니다. 1. 스프링 빈의 생명주기 스프링 컨테이너 생성스프링 빈 생성의존관계 주입사용스프링 종료 스프링 빈은 생성과 의존 관계 주입이 동시에 이루어지는 것이 아니라 스프링 빈 객체를 생성을 한 뒤에 의존관계 주입을 실행합니다. 이때 우리가 언제 의존관계 주입이 되는지, 또는 언제 스프링 빈이 소멸하는지를 알아보고 싶을 때 저 위의 두 애너테이션을 사용합니다. 두 애너테이션을 사용했을 때 생명주기를 나타내보자면 스프링 컨테이너 생성스프링 빈 생성의존관계 주입초기화 콜백사용소멸 전 콜백스프링 종료이렇게 나타낼 수 있습니다.초기화 ..
[Spring] 롬복 알아보기 (@RequiredArgsConstructor) lombok- Getter, Setter, 생성자를 자동으로 만들어주는 라이브러리개발 시 효율성을 높여주는 라이브러리로 상당히 많이 쓰인다. @RequiredArgsConstructor@Componentpublic class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRep..

반응형