본문 바로가기

전체 글

(48)
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_7 #HTTP 요청 데이터 - API 메시지 바디 - JSON HTTP API에서 주로 사용하는 JSON형식으로 데이터를 전달해보자 JSON형식 전송 POST http://localhost:8080/request-body-json content-type: application/json message body: {"username": "hello", "age":20} 결과 messageBody = {"username": "hello", "age":20} #정리 HTTP 요청 메시지를 통해 클라이언트에서 서버로 메시지를 전달하는 주 방법 3가지 1.GET-쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 ex)검색,필터,페이징 등에..
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_6 http://localhost:8080/request-param?username=hello&age=20 #전체 파라미터 조회 request.getParameterNames().asIterator() .forEachRemaining(paramName -> System.out.println(paramName + "="+request.getParameter(paramName))); #단일 파라미터 조회 String username = request.getParameter("username"); System.out.println("username = " +username); String age = request.getParameter("age"); System.out.println("age = " + age);..
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_5 HTTP 요청 데이터 - 개요 HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법을 알아보자 주로 다음3가지 방법 사용 GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 -검색,필터,페이징 등에서 많이 사용 POST-HTML Form content-type:application/x-www-form-urlencoded 메시지 바디에 쿼리 파라미터 형식으로 전달 username=hello&age=20 -회원가입, 상품 주문, HTML사용 HTTP message body에 데이터를 직접 담아 요청 HTTP API에서 주로 사용, JSON,XML,TEXT 데이터 형식은 주로 JSON사용 POST,PU..
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_4 프로젝트 생성 A problem occurred configuring root project 'servelet'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.3. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.1.3 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.1.3 was found. The co..
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_3 HTML, HTTP API, CSR, SSR 정적 리소스 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 주로 웹 브라우저 HTML페이지 동적으로 필요한 html 파일을 생성해서 전달 웹 브라우저 : HTML 해석 HTTP API HTML이 아니라 데이터를 전달 주로 JSON 형식 사용 다양한 시스템에서 호출 데이터만 주고 받음, UI 화면이 필요하면, 클라이언트가 별도 처리 앱, 웹 클라이언트, 서버 to 서버 UI클라이언트 접점 앱 클라이언트(아이폰, 안드로이드, PC앱) 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출 React, Vue.js 같은 웹 클라이언트 서버사이드 렌더링 (SSR) HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달 주로 정적인 화면에 사용 ..
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_2 서블릿 HTTP 요청, 응답 흐름 HTTP 요청시 WAS는 Request, Response 객체를 새로 만들어서 서블릿 객체 호출 개발자는 Request 객체에서 HTTP 요청 정보를 편히하게 꺼내서 사용 개발자는 Response 객체에 HTTP 응답 정보를 편리하게 입력 WAS는 Response 객체에 담겨 있는 내용으로 HTTP 응답 정보를 생성 서블릿 컨테이너? :톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라 함 서블릿 컨테이너는 서블릿 객체를 생성,초기화,호출, 종료하는 생명주기 관리 서블릿 객체는 싱글톤으로 관리 고객이 요청이 올 때마다 객체를 생성하는 것은 비효율 최초 로딩 시점에 서블릿 객체를 미리 만들어두고 재활용 모든 고객 요청은 동일한 서블릿 객체 인스턴스에 접근 공유 변수 사용..
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 스프링 mvc 1편 웹 서버, 웹 애플리케이션 서버 웹 - http 기반 웹 서버 : http 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적 html,css,js,이미지,영상 웹 애플리케이션 서버(was) : http 기반으로 동작 웹 서버 기능 포함 + 정적 리소스 제공 가능 프로그램 코드를 실행해서 애플리케이션 로직 수행(JSP,스프링) 웹 서버와 웹 애플리케이션의 차이? : 웹 서버는 정적 리소스, was는 애플리케이션 로직 :사실 둘의 용어의 경계가 모호 웹 서버도 프로그램을 실행하는 기능을 포함하기도 하고 웹 애플리케이션 서버도 웹 서버의 기능을 제공 자바는 서블릿 컨테이너 기능을 제공하면 was (서블릿 없이 자바코드를 실행하는 서버 프레임워크도 있음) was는 애플리케이션 코드를 실행..
스프링 부트 3 백엔드 개발자 되기_28 aws란? 다른 PC에서도 이 서비스에 접속하려면 실제 서버에 스프링 부트 서버를 올려 실행해야 함 이런 행위를 실무에서는 배포라고 하는데 배포는 서버용 PC를 구매해서 배포하는 방법과 AWS같은 클라우드 컴퓨팅 서비스를 이용해 배포하는 방법이 있다. 우리가 사용할 aws 서비스 EC2 : AWS에서 제공하는 원격 서버 오토 스케일링 그룹 타깃 그룹 로드 밸런서 RDS:AWS에서 제공하는 원격 데이터베이스 가상의 PC또는 서버 EC2 :EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스로 가상의 PC 즉, 서버 한대를 임대하는 서비스 유동적으로 EC2를 관리해주는 오토 스케일링 그룹 :그런데 책에 참고 그림은 EC2가 3개임 왜그럴까? => 서비스 이용률이 높아지면 서버 한대로는 처리가 어려워서 여러개의..