Spring
스프링 MVC 1 - 프로젝트 생성
스프링 MVC 1 - 프로젝트 생성
2022.06.29프로젝트 생성 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성(https://start.spring.io/) 주의! 이번 실습 프로젝트는 War로 생성! 동작 확인 기본 메인 클래스 실행 (ServletApplication.main()) http://localhost:8080 호출해서 Whitelabel Error Page가 나오면 정상 동작 Intellij Gradle 대신에 자바 직접 실행 Postman 설치 다음 사이트에서 Postman을 다운로드 받고 설치해두자 https://www.postman.com/downloads/ Download Postman | Get Started for Free Try Postman for free! Join 20 million developers who..
스프링 MVC 1 - 자바 백엔드 웹 기술 역사
스프링 MVC 1 - 자바 백엔드 웹 기술 역사
2022.06.29자바 백엔드 웹 기술 역사 과거 기술 서블릿 - 1997 HTML 생성이 어려움 JSP - 1999 HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당 서블릿, JSP 조합 MVC 패턴 사용 모델, 뷰 컨트롤러로 역할을 나누어 개발 MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초 MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원 스트럿츠, 웹 워크, 스프링 MVC(과거 버전) 현재 사용 기술 1. 애노테이션 기반의 스프링 MVC 등장 @Controller MVC 프레임워크의 춘추 전국 시대 마무리 2. 스프링 부트의 등장 스프링 부트는 서버를 내장 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 ..
스프링 MVC 1 - HTML, HTTP API, CSR, SSR
스프링 MVC 1 - HTML, HTTP API, CSR, SSR
2022.06.29HTML, HTTP API, CSR, SSR 정적 리소스 고정된 HTML 파일, CSS, JS, 이미지 영상 등을 제공 주로 웹 브라우저 HTML 페이지 동적으로 필요한 HTML 파일을 생성해서 전달 웹 브라우저: HTML 해석 HTTP API HTML이 아니라 데이터를 전달 주로 JSON 형식 사용 다양한 시스템에서 호출 HTTP API 다양한 시스템에서 호출 데이터만 주고 받음, UI 화면이 필요하면, 클라이언트가 별도 처리 앱 클라이언트 to 서버, 웹 클라이언트 to 서버, 서버 to 서버 HTTP API 다양한 시스템 연동 주로 JSON 형태로 데이터 통신 UI 클라이언트 접점 앱 클라이언트(아이폰, 안드로이드, PC 앱) 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출 React, V..
스프링 MVC 1 - 동시 요청 - 멀티 쓰레드
스프링 MVC 1 - 동시 요청 - 멀티 쓰레드
2022.06.29동시 요청 - 멀티 쓰레드 클라이언트가 요청을 하면 WAS에서 응답을 할 것이다. 요청을 하면, TCP/IP 커넥션이 연결되고, servelet이라는 것을 호출한다. 그런데 서블릿 객체를 누가 호출하는 것일까? 바로 쓰레드가 호출한다. 쓰레드 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드 자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행 쓰레드가 없다면 자바 애플리케이션 실행이 불가능 쓰레드는 한번에 하나의 코드 라인만 수행 동시 처리가 필요하다면 쓰레드를 추가로 생성 쓰레드가 하나가 있다고 가정하자. 요청이 1개오면 쓰레드를 할당한다. 그리고 이 쓰레드를 가지고 서블릿을 호출해주는 것이다. 그리고나서 쓰레드를 가지고 응답까지 다 하고, 응답이 되고나면 쓰레드가 휴식을 ..
스프링 MVC 1 - 서블릿
스프링 MVC 1 - 서블릿
2022.06.28서블릿 위와같은 HTML Form이 있다고 가정해보자. 회원 이름과 나이를 넣고 전송버튼을 누르면, 회원이 가입되는 폼이다. 이러한 폼이 있을 때, HTML Form을 POST로 데이터를 저장하려면, form action="/save" method="post" 그리고 username과 age 값을 넣어서 데이터를 전송한다. 전송을 누르면, 웹브라우저가 요청 HTTP메시지를 만들어준다. 각종 정보를 넣고, 실제 Content Body에는 username=kim&age=20 이라고 데이터를 보내고, 이 Content에 대한 내용은, Content-Type에 x-www-form-urlencoded 방식으로 보내겠다고 표시해서 생성한다. 이러한 방식으로 HTTP메시지를 만들어서 서버에 전송을 한다. 이렇게 했을..
스프링 MVC 1 - 웹 서버, 웹 애플리케이션 서버
스프링 MVC 1 - 웹 서버, 웹 애플리케이션 서버
2022.06.23웹 서버, 웹 애플리케이션 서버 웹이라는 것은 다 HTTP를 기반으로 통신을 한다. 예를 들어서, 클라이언트(웹브라우저)에서 URL을 치면, 인터넷을 통해서 서버에 접근을 하고, 서버에서는 HTML을 만들어서 클라이언트에 내려준다. 그러면 클라이언트는 받은 HTML을 가지고 우리에게 보여줄 것이다. 그런데, 클라이언트에서 서버로 데이터를 전송할 때, 그리고 서버에서 클라이언트로 데이터를 응답할 때, 이때 다, HTTP 라는 프로토콜을 기반으로 동작하게 된다. 그래서 웹 세상에서는 모든 것이 HTTP를 기반으로 데이터를 주고 받는다. 웹 서버가 뭘까? (Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 예) nginx, ap..