자바 웹 기술 역사 과거 기술 서블릿 - 1997 HTML 생성이 어려움 JSP - 1999 HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당 서블릿, JSP 조합 MVC 패턴 사용 모델, 뷰 컨트롤러로 역할을 나누어 개발 MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초 MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원 스트럿츠, 웹워크, 스프링 MVC(과거 버전) 현재 사용 기술 어노테이션 기반의 스프링 MVC 등장 @Controller MVC 프레임워크의 춘추 전국 시대 마무리 스프링 부트의 등장 스프링 부트는 서버를 내장 과거에는 서버에 WAS를 직접 설치하고, 소스는 War 파일을 만들어서 설치한 WAS에 배포 스프링 부트는 ..
Spring 이론 공부/스프링 MVC 1편
정적 리소스 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 주로 웹 브라우저 HTML 페이지 동적으로 필요한 HTML 파일을 생성해서 전달한다. 웹 브라우저 : HTML 해석 HTTP API HTML이 아니라 데이터를 전달한다. 주로 JSON 형식 사용 다양한 시스템에서 호출을 한다. 다양한 시스템에서 호출 데이터만 주고 받음, UI 화면이 필요하면, 클라이언트가 별도 처리 앱, 웹 클라이언트, 서버 to 서버 데이터를 바로 웹이나 앱에게 전해주는 것을 HTTP API라고 한다. (JSON 방식) 다양한 시스템 연동 주로 JSON 형태로 데이터 통신 UI 클라이언트 접점 앱 클라이언트 (아이폰, 안드로이드, PC 앱) 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출 React,..
보통 요청이 들어오면 연결 부분에서 WAS 안의 Servlet을 호출한다. 과연 누가 호출하는 것일까?? 쓰레드 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 스레드 자바 메인 메서드를 처음 실행하면 main이라는 이름의 스레드가 실행 쓰레드가 없다면 자바 애플리케이션 실행이 불가능 스레드는 한 번에 하나의 코드 라인만 수행 동시 처리가 필요하면 스레드를 추가로 생성 단일 요청 - 쓰레드 하나 사용 다중 요청 - 쓰레드 하나 사용 만약 다중 요청이지만 스레드를 하나만 사용한다면 요청 1 처리중에 쓰레드가 처리 지연이 발생하면 요청 2 또한 처리를 할 수 없게 된다. 결국 2개의 요청 모두 처리를 할 수 없다. 해결책은 그저 쓰레드 하나를 더 생성하면 된다. 장단점 장점 동시 요청을 처리할 수 있다..
웹 서버, 웹 애플리케이션 서버 모든 것이 HTTP, HTTP 메시지에 모든 것을 전송할 수 있다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 웹 서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적(파일) HTML, CSS, JS, 이미지, 영상 예) NGINX, APACHE 웹 애플리케이션 서버(WAS - Web Application Server) HTTP 기반으로 동작 웹 서버 기능 포함+ (정적 리소스 제공 가능) 프로그램 코드를 실행해서 애플리케이션 로직 수행 동적 HTML, HTTP API(JSON) 서블릿, JSP, 스프링 MVC..