본문 바로가기

전체 글

(49)
[인프런]스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술_8 #회원 관리 앱 애플리케이션 요구사항 public class MemberRepository { private Map store = new HashMap(); ...중략... //아래코드 //스토어에 있는 모든 값들을 꺼내서 새로운 ArrayList에 담아 넘겨줌, //이렇게 하는 이유는 이 new ArrayList에 값을 넣거나 밖에서 조작해도 스토어에 있는 value를 건들고 싶지 않아서 //물론 이렇게해도 그 스토어에 있는 멤버를 직접 가져와서 안에 있는 값을 수정되버림 public List findAll(){ return new ArrayList(store.values()); } ...중략... }
[인프런]스프링 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는 애플리케이션 코드를 실행..